2012-12-21 24 views
5

C#でWinSCPを使用してSFTPサーバーに接続しようとしています。C#でWinSCPを使用してSFTPに接続しているときに "利用可能な認証方法がありません"

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 –

関連する問題