我正在用 C# 编写一个实用程序,它需要通过 SSH(使用SSH.NET)自动连接到服务器,这几乎是一个轻松的过程。服务器强制公钥认证(服务器是我的,我有完全的物理控制),这样只有少数人可以访问它。
在 Windows 上,我们都设置了 Pageant 以使用 TortoiseGit 与我的服务器进行通信,所以我只需要从 Pageant 读取已经解锁的内存中私钥,而不是每次我想再次询问密码。调试/运行该实用程序。
到目前为止,我发现的最接近的东西是来自 Paramiko 的 Python 模块,它检查是否存在 Pageant 窗口并公开发送和接收方法。这应该很容易移植到 C#,但我想知道我需要向 Pageant 发送什么命令来接收密钥?
通过 Paramiko,这并不是很明显,而且我找不到任何以编程方式使用 Pageant 的文档。答案不必在 C# 中,但如果是,我就不必为此编写一个小实用程序。