我想在用户第一次访问服务器时获取指纹,然后保存该指纹(这不是问题,我可以这样做)。我的问题是,应该有一个名为ScanFingerprint()
的方法来做这件事,但是当我搜索它时,这个方法并没有显示出来。
https://winscp.net/eng/docs/library_session_scanfingerprint#parameters
这就是我所发现的,但是这个方法没有出现,你知道怎么做吗?
老实说,我没有为此编写任何代码,因为我正在尝试找出该方法在哪里。但是我有这个,我计划用它来设置SshHostKeyFingerprint
属性
TransferOptions = new TransferOptions();
SessionOptions = new SessionOptions();
MySession = new Session();
SessionOptions.HostName = InterfaceConnection.Host;
SessionOptions.UserName = InterfaceConnection.UserID;
SessionOptions.Password = InterfaceConnection.Password;
SessionOptions.PortNumber = InterfaceConnection.Port;
if (string.Compare(protocol.ProtocolUsed, "FTP", true) == 0)
SessionOptions.Protocol = WinSCP.Protocol.Ftp;
else if (string.Compare(protocol.ProtocolUsed, "SFTP", true) == 0)
{
SessionOptions.Protocol = WinSCP.Protocol.Sftp;
SessionOptions.SshHostKeyFingerprint = protocol.FingerPrint;
SessionOptions.SshPrivateKeyPath = "C:\\TestFiles\\SshKeys\\MyLocalSSHKey";
}
发布于 2016-04-12 13:49:12
仅从WinSCP 5.9开始提供Session.ScanFingerprint
method。
请参阅https://winscp.net/tracker/1394
有关缓存指纹的特定问题,请参阅Implementing SSH host key cache (known hosts)示例。
https://stackoverflow.com/questions/36559537
复制相似问题