¿Qué formatting de key privada SSH para LibGit2 LibGit2Sharp?

Estoy como atrapado con un problema de key privada SSH y LibGit2Sharp.

¿Qué quiero hacer?

Tengo una aplicación .Net / C # que debería usar LibGit2Sharp-Ssh para clonar un repository GIT.

Necesito usar SSH (https con usuario / contraseña no es una opción) y también tengo una key válida, que ya está funcionando, por ejemplo, con Teamcity

Mi código se ve así:

CloneOptions options = new CloneOptions { Checkout = false, CnetworkingentialsProvider = (url, user, cnetworking) => new SshUserKeyCnetworkingentials() { PrivateKey = privateKey, Passphrase = passphrase, PublicKey = publicKey, Username = "git" } }; var clone = LibGit2Sharp.Repository.Clone(remoteUrl, localPath, options); 

privateKey apunta a un file de key privada en formatting "OpenSSH".

Cuando se ejecuta "clon", obtengo

LibGit2Sharp.LibGit2SharpException: "Error al autenticar la session SSH: datos key no válidos, no codificados en base64"

He probado todo tipo de formatting de key privada que podría crear con PuttyGen, pero siempre el mismo resultado. ¿Alguien tiene una idea de cuál podría ser el problema o el formatting que necesito para crear el file de key privada?

Así es como se ve mi OpenSSH-Key (datos key truncados):

 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,27A4E70608469318 <Key-Data, like "sdhsdcQEHBg3uzfb..."> -----END RSA PRIVATE KEY----- 

¿Hay alguna forma de verificar la key exportada?

¡Gracias por la ayuda!

En lugar de crear su key privada con PuttyGen (keys ppk ), use PuttyGen para cargar dicho file ppk y guárdelo como file OpenSSH ( id_rsa , id_rsa.pub )

O, como describí aquí, use Git for Windows PATH para acceder a ssh-keygen, y cree uno directamente con el formatting correcto:

 ssh-keygen -t rsa -C "key for my Git repo server" -q -P "" 

Así es como se ve mi OpenSSH-Key (datos key truncados):

 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,27A4E70608469318 <Key-Data, like "sdhsdcQEHBg3uzfb..."> -----END RSA PRIVATE KEY----- 

¿Hay alguna forma de verificar la key exportada?

privateKey apunta a un file de key privada en formatting "OpenSSH".

privateKey necesita señalar una key , no una ruta a una key. Necesita leer el file de key y colocar el contenido en una string que puede pasar a privateKey .