我目前正在开发一个小型的Visual C#应用程序 需要一个SSH库。 我已经尝试过DotNetSSH,Renci.SshNet和SharpSsh。 Granados SSH库文档很少(至少我发现几乎没有), 所以我跳过了这个。
所有这些库都有一个巨大的问题(恕我直言):他们无法打开SSH私有 带密码的密钥。
Renci.SshNet不支持AES。 DotNetSSH和SharpSsh使用jsch(java ssh库)作为基础,似乎有一个 bug(?)所以它不会解密私钥并不断要求密码。
使用用户名+密码和没有密码短语的私钥连接效果很好 与SharpSsh。
有人已经遇到过同样的问题吗? 或者是否有另一个带有“RSA私钥和密码”支持的C#SSH库?
提前谢谢
答案 0 :(得分:2)
我已成功使用SSH.NET开源库来使用SSH和SFTP。
这是连接密钥文件+密码的代码。
{{1}}
请注意,您的私钥文件必须采用OpenSSH格式。如果你在Notepad ++中打开密钥文件,它必须有" BEGIN RSA PRIVATE KEY"在第一行。
如果没有,则使用puttygen将您的私钥文件转换为OpenSSH格式。
答案 1 :(得分:0)
也许Chilkat SSH component可以帮到你。
但它不是免费的。
答案 2 :(得分:-1)
我们的SecureBlackbox以所有常见格式加载和保存SSH密钥,并支持加密密钥文件。不确定是否有其他库这样做。