5

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);

このエラーが発生します:

切断: サポートされている認証方法がありません (サーバーが送信: publickey,gssapi-with-mic)

4

2 に答える 2

3

WinSCP C# クラスは秘密鍵のパスワード設定をサポートしていないため、パスワードまたはページェントなしで秘密鍵を使用する必要があります。

于 2012-12-21T10:06:06.883 に答える
1

WinSCP .NET アセンブリの最新バージョンは、暗号化された秘密キーへのパスフレーズの設定をサポートしています。

を使用しSessionOptions.PrivateKeyPassphraseます。

SessionOptions sessionOptions = new SessionOptions
{
    ...
    SshPrivateKeyPath = "\\PrivateKey\\PrivateKey.ppk",
    SshPrivateKeyPassphrase = "passphrase",
};

WinSCP FAQ の秘密鍵認証の自動化も参照してください。

于 2016-02-10T17:39:17.523 に答える