因为我正在开发一个使用 WinSCP .NET 程序集的 .NET C# 项目,用于 SFTP 无密码连接。到目前为止,我已经制作了一个 UI,我们必须在其中提供 SSH 密钥指纹、释义和.ppk
文件路径。
我的问题是,如果用户.ppk
只提供文件路径,有没有办法通过代码自动获取“SSH 密钥指纹”?
因为我正在开发一个使用 WinSCP .NET 程序集的 .NET C# 项目,用于 SFTP 无密码连接。到目前为止,我已经制作了一个 UI,我们必须在其中提供 SSH 密钥指纹、释义和.ppk
文件路径。
我的问题是,如果用户.ppk
只提供文件路径,有没有办法通过代码自动获取“SSH 密钥指纹”?
是您帐户的.ppk
密钥对,您使用SessionOptions.SshPrivateKeyPath
.
而主机密钥用于SessionOptions.SshHostKeyFingerprint
服务器的密钥对(=主机)。它不是您的密钥对的公钥。
这些密钥对没有任何共同之处。你不能从另一个中提取一个。
有关详细信息,请参阅了解 SSH 密钥对。
如果您想允许用户手动验证主机密钥,请使用检索指纹的Session.ScanFingerprint
方法进行验证。验证后,将验证后的指纹分配给SessionOptions.SshHostKeyFingerprint
.
例如,请参阅实现 SSH 主机密钥缓存(已知主机)。