当我正在使用WinSCP .NET程序集的.NET C#项目时,对于SFTP密码较少的连接。到目前为止,我已经创建了一个UI,我们必须提供SSH密钥指纹,释义和.ppk
文件的路径。
我的问题是,有没有办法获得" SSH密钥指纹"如果用户仅提供其.ppk
文件路径,则自动通过代码?
答案 0 :(得分:4)
.ppk
是您帐户的一对密钥,您可以使用SessionOptions.SshPrivateKeyPath
指定。{/ p>
SessionOptions.SshHostKeyFingerprint
的主机密钥用于服务器的密钥对(= host)。它不是密钥对的公钥。
这些密钥对没有任何共同之处。你不能从另一个中提取。
有关详细信息,请参阅Understanding SSH key pairs。
另见Where do I get SSH host key fingerprint to authorize the server?
如果您想允许用户手动验证主机密钥,请使用Session.ScanFingerprint
method检索指纹以进行验证。验证后,将验证的指纹分配给SessionOptions.SshHostKeyFingerprint
。