【问题标题】:How to get the SSH fingerprint from a server with WinSCP and C#如何使用 WinSCP 和 C# 从服务器获取 SSH 指纹
【发布时间】:2021-09-02 17:33:36
【问题描述】:

我想在用户第一次访问服务器时获取指纹,然后保存该指纹(这不会有问题,我可以这样做)。我的问题是应该有一种方法可以做到这一点,称为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";
}

【问题讨论】:

    标签: c# ssh sftp winscp winscp-net


    【解决方案1】:

    Session.ScanFingerprint method 仅从 WinSCP 5.9 开始可用。

    https://winscp.net/tracker/1394

    有关缓存指纹的具体问题,请参阅Implementing SSH host key cache (known hosts) 示例。

    【讨论】:

    • 谢谢@Martin Prikryl!惊人的!!正如我所见,你是 WinSCP 的开发者!!我在.dll中寻找它!谢谢朋友!!
    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 2012-12-23
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2012-05-06
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多