2

因为我正在开发一个使用 WinSCP .NET 程序集的 .NET C# 项目,用于 SFTP 无密码连接。到目前为止,我已经制作了一个 UI,我们必须在其中提供 SSH 密钥指纹、释义和.ppk文件路径。

我的问题是,如果用户.ppk只提供文件路径,有没有办法通过代码自动获取“SSH 密钥指纹”?

4

1 回答 1

4

是您帐户的.ppk密钥对,您使用SessionOptions.SshPrivateKeyPath.

而主机密钥用于SessionOptions.SshHostKeyFingerprint服务器的密钥对(=主机)。它不是您的密钥对的公钥。

这些密钥对没有任何共同之处。你不能从另一个中提取一个。

有关详细信息,请参阅了解 SSH 密钥对

另请参阅我在哪里获取 SSH 主机密钥指纹以授权服务器?


如果您想允许用户手动验证主机密钥,请使用检索指纹的Session.ScanFingerprint方法进行验证。验证后,将验证后的指纹分配给SessionOptions.SshHostKeyFingerprint.

例如,请参阅实现 SSH 主机密钥缓存(已知主机)

于 2015-12-07T08:51:29.507 回答