我正在将一些 C# 代码从用户名/密码 Linux 连接迁移到使用公钥/私钥(带有密码)。我已将私钥存储在 Windows 服务器 ssh 缓存中,并且使用 ssh user@server 一切正常。
现在我需要将缓存的私钥与 ssh.net 一起使用...这就是我陷入困境的地方。
如何告诉 sshClient 使用缓存的密钥,而不是传递私钥文件?
我想要这样的东西......
sshClient = new SshClient(server,port,user,*use ssh-cache please*)
老实说,SSH.NET 不支持使用身份验证代理进行身份验证。
快速谷歌搜索揭示了 SshNet.Agent 库,它应该扩展 SSH.NET 以支持身份验证代理:
https://github.com/darinkes/SshNet.Agent
不过我没有这方面的经验。