2012-12-21 61 views
5

我試圖連接到使用C#中的WinSCP SFTP服務器使用WinSCP賦予SFTP。這是我的代碼:「不支持的認證方法可用」,而連接在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); 
} 

但是當我運行的應用程序,它達到這個喜歡

session.Open(sessionOptions); 

我得到這個錯誤:

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

+0

請問您的鑰匙密碼保護? –

+0

是的。我在哪裏設置ppk文件的密碼? – Lahib

+0

查看答案。 –

回答

3

您應該使用私鑰沒有密碼或因爲WinSCP C#類不支持爲私鑰設置密碼。

+0

你有想法紐約我可以使用哪些操作,可以讓我設定一個PPK文件的密碼? – Lahib

+2

有免費/開源的C#BouncyCastle庫,它們應該支持SFTP。還有商業SecureBlackbox庫,它絕對支持SFTP和私鑰密碼。 –

+0

的WinSCP將支持自5.6版提供的.NET程序集的私鑰密碼:http://winscp.net/tracker/show_bug.cgi?id=816 –

相關問題