我正在使用SSH.NET的nuget库,我打算做一个SFTP连接来检索和上传数据。但是,我遇到一个问题,即我收到Invalid private key file.
错误。
这是我的私钥文件字符串:
PuTTY-User-Key-File-2: ssh-dss
Encryption: none
Comment: dsa-key-20160523
Public-Lines: 18
AA ------some key----------NAZiN8jDuiBte7MPV7
F6s=
Private-Lines: 1
AAAAFDfhoQV18cCh6cVFcNcvRoqdXPXI
Private-MAC: f06d16402bbe702c0f27bd43290e12c6954f02d5
这是我的代码:
var keyFile = new PrivateKeyFile(ConfigurationManager.AppSettings["SFTPKeyLocation"]);
var keyFiles = new[] { keyFile };
#region define sftp connection
var methods = new List<AuthenticationMethod>();
var connectionInfo = new ConnectionInfo(ConfigurationManager.AppSettings["SFTPHost"],
ConfigurationManager.AppSettings["SFTPUser"],
new PrivateKeyAuthenticationMethod(ConfigurationManager.AppSettings["SFTPUser"], keyFiles));
var sftp = new SftpClient(connectionInfo);
为什么我的私钥错误无效?我可以确保此密钥有效,因为它在其他地方成功进行了SFTP。