【发布时间】:2017-01-30 17:14:50
【问题描述】:
我目前正在开发一个小型 Visual C# 应用程序,我在其中 需要一个 SSH 库。 我已经尝试过 DotNetSSH、Renci.SshNet 和 SharpSsh。 Granados SSH 库的文档记录很差(至少我几乎什么也没找到), 所以我跳过了这个。
所有这些库都有一个大问题(恕我直言):它们无法打开 SSH 私有 带有密码的密钥。
Renci.SshNet 不支持 AES。 DotNetSSH 和 SharpSsh 使用 jsch(java ssh 库)作为基础,似乎有一个 错误(?),因此它不会解密私钥并不断询问密码。
使用用户名+密码和没有密码短语的私钥连接效果很好 使用 SharpSsh。
有人遇到过同样的问题吗? 或者是否有另一个支持“RSA 私钥和密码”的 C# SSH 库?
提前谢谢
【问题讨论】:
-
Renci.SshNet 很可能支持私钥文件的密码。看看这里github.com/zeevl/Renci.SshNet/blob/master/Renci.SshNet/…我将自己实现它,所以一旦我成功了我会报告它
-
这是该文件的一个非常旧的版本。从那时起,我添加了对具有椭圆曲线的 PrivateKeyFiles 的支持,并打开了另一个拉取请求以支持 OPENSSH 格式。所有包括密码支持。见github.com/sshnet/SSH.NET/blob/develop/src/Renci.SshNet/… 和github.com/sshnet/SSH.NET/pull/614