SSH库,支持密码短语rsa privatekeys

时间:2012-09-04 17:50:23

标签: c# windows ssh

我目前正在开发一个小型的Visual C#应用程序 需要一个SSH库。 我已经尝试过DotNetSSH,Renci.SshNet和SharpSsh。 Granados SSH库文档很少(至少我发现几乎没有), 所以我跳过了这个。

所有这些库都有一个巨大的问题(恕我直言):他们无法打开SSH私有 带密码的密钥。

Renci.SshNet不支持AES。 DotNetSSH和SharpSsh使用jsch(java ssh库)作为基础,似乎有一个 bug(?)所以它不会解密私钥并不断要求密码。

使用用户名+密码和没有密码短语的私钥连接效果很好 与SharpSsh。

有人已经遇到过同样的问题吗? 或者是否有另一个带有“RSA私钥和密码”支持的C#SSH库?

提前谢谢

3 个答案:

答案 0 :(得分:2)

我已成功使用SSH.NET开源库来使用SSH和SFTP。

这是连接密钥文件+密码的代码。

{{1}}

私钥文件格式

请注意,您的私钥文件必须采用OpenSSH格式。如果你在Notepad ++中打开密钥文件,它必须有" BEGIN RSA PRIVATE KEY"在第一行。

如果没有,则使用puttygen将您的私钥文件转换为OpenSSH格式。

  1. 在puttygen中打开私钥
  2. 转到“转化”菜单,然后选择“导出OpenSSH密钥”。
  3. 将新密钥保存到文件中并使用它。

答案 1 :(得分:0)

也许Chilkat SSH component可以帮到你。

但它不是免费的。

答案 2 :(得分:-1)

我们的SecureBlackbox以所有常见格式加载和保存SSH密钥,并支持加密密钥文件。不确定是否有其他库这样做。