c# - 从 Pageant 读取 SSH 私钥

标签 c# ssh ssh-keys ssh-agent pageant

我正在用 C# 编写一个实用程序,它需要通过 SSH 自动连接到服务器(使用 SSH.NET ),这是一个基本上轻松的过程。服务器强制公钥认证(服务器是我的,我有完全的物理控制权),这样只有少数人可以访问。

在 Windows 上,我们都设置了 Pageant,以便使用 TortoiseGit 与我的服务器进行通信,因此对我来说,从 Pageant 读取已解锁的内存中私钥而不是每次都再次询问密码是有意义的我想调试/运行该实用程序的时间。

到目前为止,我发现的最接近的是 this Python module from Paramiko检查选美窗口是否存在并公开发送和接收方法。这应该很容易移植到 C#,但我想知道我到底需要发送什么命令到 Pageant 来接收 key ?

浏览 Paramiko,这并不是很明显,而且我找不到任何以编程方式使用 Pageant 的文档。答案不必是 C# 语言,但如果是的话,我就不必为它编写一个小实用程序。

最佳答案

您不从 Pageant 读取私钥,而是要求 Pageant 计算签名。这就需要修改客户端的源代码。

在我们的 SecureBlackbox 产品的最新版本中,我们为 .NET 的 SSH 和 SFTP 客户端组件添加了 Pageant 和 ssh-agent 支持,因此您可能想了解一下它们。

关于c# - 从 Pageant 读取 SSH 私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896422/

相关文章:

c# - 当我没有按顺序选择复选框时,POST 到 MVC Controller IEnumerable 嵌套模型为空

c# - 在 Azure 中存储媒体、视频和图像的推荐方法是什么

c# - ExecuteNonQuery 要求命令在我的代码中出现事务错误

bash - 通过 Plink 在 Windows 命令行上运行 shell 脚本(带参数)

bash - 在主机之间复制 SSH key

c# - 以编程方式创建没有源或目标的数据流任务

php - 在 PHP 中从 Raspberry PI 运行 SSH 命令

ssh - 如何了解 fail2ban ssh 过滤器是否正在使用新端口?

linux - 如何通过环境变量传递 ssh key 密码

eclipse - Egit 拒绝接受 id_rsa