如何从私钥获取 SFTP 的密钥指纹?
How to get key fingerprint for SFTP from private key?
因为我正在处理一个使用 WinSCP .NET 程序集的 .NET C# 项目,用于 SFTP 无密码连接。到目前为止,我已经制作了一个 UI,我们必须在其中提供 SSH 密钥指纹、释义和 .ppk
文件的路径。
我的问题是,如果用户仅提供其 .ppk
文件路径,是否有任何方法可以通过代码自动获取 "SSH key fingerprint"?
.ppk
是您帐户的一对密钥,您使用 SessionOptions.SshPrivateKeyPath
指定。
而 SessionOptions.SshHostKeyFingerprint
的主机密钥用于服务器(= 主机)的密钥对。它不是您的密钥对中的 public 密钥。
这些密钥对没有任何共同点。你不能从另一个中提取一个。
详情见Understanding SSH key pairs。
另见 Where do I get SSH host key fingerprint to authorize the server?
如果要允许用户手动验证主机密钥,请使用Session.ScanFingerprint
method 检索指纹进行验证。验证后,将验证后的指纹分配给SessionOptions.SshHostKeyFingerprint
。
因为我正在处理一个使用 WinSCP .NET 程序集的 .NET C# 项目,用于 SFTP 无密码连接。到目前为止,我已经制作了一个 UI,我们必须在其中提供 SSH 密钥指纹、释义和 .ppk
文件的路径。
我的问题是,如果用户仅提供其 .ppk
文件路径,是否有任何方法可以通过代码自动获取 "SSH key fingerprint"?
.ppk
是您帐户的一对密钥,您使用 SessionOptions.SshPrivateKeyPath
指定。
而 SessionOptions.SshHostKeyFingerprint
的主机密钥用于服务器(= 主机)的密钥对。它不是您的密钥对中的 public 密钥。
这些密钥对没有任何共同点。你不能从另一个中提取一个。
详情见Understanding SSH key pairs。
另见 Where do I get SSH host key fingerprint to authorize the server?
如果要允许用户手动验证主机密钥,请使用Session.ScanFingerprint
method 检索指纹进行验证。验证后,将验证后的指纹分配给SessionOptions.SshHostKeyFingerprint
。