1

代码:

var connectionInfo = new ConnectionInfo(Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_SERVER), Convert.ToInt32(Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_PORT)),
                Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_USERID),
                new PasswordAuthenticationMethod(Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_USERID)
                                               , Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_PWD)),
                new PrivateKeyAuthenticationMethod(Utilities.GetConfigValueByKey(processName + Constants.KEY_FTP_USERID),
                     new PrivateKeyFile(File.OpenRead(@"C:\Jobs\Test\id_rsa"), "testpwd"))
            );

它在 privateKeyfile 上失败了,有人可以帮助我我做错了什么。

我已经尝试将文件名作为文本文件,但仍然没有运气。

4

2 回答 2

2

对于历史,如果可以帮助某人。对我来说,问题在于密码。有一个额外的字符(回车),它使刹车成为关键访问并显示此错误

于 2019-08-14T00:02:45.250 回答
1

我收到了同样的错误,因为我为我的私钥文件使用了错误的密码。

new PrivateKeyFile(path, passphrase)

此外,Renci SSH.NET 需要一个 OpenSSH 格式的密钥(以 -----BEGIN RSA PRIVATE KEY----- 开头)。您可以使用 PuTTYgen -> Conversions -> Export OpenSSH Key 来制作一个。

于 2019-08-06T14:12:36.650 回答