"C#

2012-12-21 11 views
5

'da WinSCP kullanarak SFTP'ye bağlanırken" Desteklenen kimlik doğrulama yöntemleri kullanılamaz "C# içinde WinSCP kullanarak bir SFTP sunucusuna bağlanmaya çalışıyorum. Bu benim kodudur:"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); 
} 

Ama uygulamayı çalıştırmak ve ne zaman bu hata olsun

session.Open(sessionOptions); 

gibi bu ulaşır: Sen şifre veya olmadan özel anahtarı kullanmalıdır

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

+0

Anahtarınız parola korumalı mı? –

+0

evet öyle. ppk dosyasının şifresini nerede ayarlayabilirim? – Lahib

+0

Cevaba bakın. –

cevap

3

Yarışması, WinSCP C# sınıfları özel anahtar için parola ayarlamayı desteklemediğinden

+0

Başka ne kullanabileceğime dair bir fikriniz var mı? Bu bir ppk dosyasının şifresini belirlememi sağlıyor? – Lahib

+2

Serbest/açık kaynak C# BouncyCastle kütüphanesi vardır, SFTP'yi desteklemelidir. Ayrıca ticari SecureBlackbox kütüphanesi var, kesinlikle SFTP ve özel anahtar şifrelerini destekliyor. –

+0

WinSCP, 5.6 sürümünden beri .NET derlemesinde özel anahtar parolası sağlamayı destekleyecektir: http://winscp.net/tracker/show_bug.cgi?id=816 –