2012-12-21 6 views
5

Ich versuche, eine Verbindung zu einem SFTP-Server mit WinSCP in C#. Dies ist mein Code:"Keine unterstützten Authentifizierungsmethoden verfügbar" während der Verbindung zu SFTP mit 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); 
} 

Aber wenn ich die Anwendung ausführen und erreicht dies wie

session.Open(sessionOptions); 

Ich erhalte diese Fehler:

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

+0

Ist Ihr Schlüssel passwortgeschützt? –

+0

ja ist es. Wo setze ich das Passwort für die PPK-Datei? – Lahib

+0

Siehe die Antwort. –

Antwort

3

Sie private Schlüssel ohne Passwort verwendet werden soll oder Festzug, da WinSCP C# -Klassen das Festlegen des Kennworts für den privaten Schlüssel nicht unterstützen.

+0

hast du noch keine idee was ich sonst noch benutzen kann, das erlaubt mir das passwort einer ppk-datei zu setzen? – Lahib

+2

Es gibt eine freie/opensource C# BouncyCastle-Bibliothek, sie sollten SFTP unterstützen. Außerdem gibt es eine kommerzielle SecureBlackbox-Bibliothek, die definitiv SFTP- und Private-Key-Passwörter unterstützt. –

+0

WinSCP unterstützt die Bereitstellung von Passphrasen für private Schlüssel in der .NET-Assembly seit Version 5.6: http://winscp.net/tracker/show_bug.cgi?id=816 –

Verwandte Themen