2012-12-21 17 views
5

Sto provando a connettermi a un server SFTP utilizzando WinSCP in C#. Questo è il mio codice:"Nessun metodo di autenticazione supportato disponibile" durante la connessione a SFTP utilizzando WinSCP in C#

SessionOptions sessionOptions = new SessionOptions 
{ 
    Protocol = Protocol.Sftp, 
    HostName = "ip", 
    PortNumber = portNR, 
    UserName = "username", 
    Password = "", 
    SshHostKeyFingerprint = "fingerPrint", 
    SshPrivateKeyPath = "\\PrivateKey\\PrivateKey.ppk ", 
}; 

using (Session session = new Session()) 
{ 
    session.Open(sessionOptions); 
} 

Ma quando faccio funzionare l'applicazione e si raggiunge questo come

session.Open(sessionOptions); 

ottengo questo errore:

Disconnected: No supported authentication methods available (server sent: publickey,gssapi-with-mic)

+0

La tua chiave è protetta da password? –

+0

sì, lo è. dove posso impostare la password per il file ppk? – Lahib

+0

Vedere la risposta. –

risposta

3

Si dovrebbe usare la chiave privata senza password o pageant, poiché le classi WinSCP C# non supportano l'impostazione della password per la chiave privata.

+0

hai ny idea di cos'altro posso usare, che mi permette di impostare la password di un file ppk? – Lahib

+2

Esiste una libreria C# BouncyCastle libera/opensource, devono supportare SFTP. Inoltre c'è la libreria commerciale SecureBlackbox, supporta sicuramente SFTP e password di chiavi private. –

+0

WinSCP supporterà la fornitura della passphrase della chiave privata nell'assembly .NET dalla versione 5.6: http://winscp.net/tracker/show_bug.cgi?id=816 –