使用SSH Ftp时,C#获取“DER长度为'95'且不能超过4个字节”错误

时间:2013-11-07 21:15:53

标签: c# ssh ftp

代码:

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

在privateKey文件失败,有人可以帮助我,我做错了什么。

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

2 个答案:

答案 0 :(得分:1)

了解历史,是否可以帮助某人。对我来说,问题在于密码短语。有一个额外的字符(回车),它会使刹车进入钥匙并显示此错误

答案 1 :(得分:0)

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

new PrivateKeyFile(path, passphrase)

此外,Renci SSH.NET还需要一个OpenSSH格式的密钥(以----- BEGIN RSA PRIVATE KEY -----开头)。您可以使用PuTTYgen->转换-​​>导出OpenSSH密钥来创建一个。