gpt4 book ai didi

c# - SSH 主机 key 指纹与模式不匹配 C# WinSCP

转载 作者:太空狗 更新时间:2023-10-30 01:16:28 26 4
gpt4 key购买 nike

我正在尝试通过 WinSCP 使用 C# 连接到 FTPS 服务器,但出现此错误:

SSH host key fingerprint ... does not match pattern ...

经过大量研究,我相信这与 key 的长度有关。使用“服务器和协议(protocol)信息”下的界面连接时,我从 WinSCP 获得的 key 是xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 但是那些我示例中看到的内容较短,如下所示

谁能帮我解决这个问题,我将不胜感激。

这是我的代码

string winscpPath = "C:\\Program Files (x86)\\WinSCP\\WinSCP.exe";
string username = "User123";
string password = "abc1234";
string ftpSite = "192.168.5.110";
string localPath = "C:\\Users\\ttom\\Documents";
string remoteFTPDirectory = "/Usr/thisfolder";
string sshKey = "1b:68:10:80:77:c6:65:91:51:31:5t:65:1c:g6:13:20:39:g8:d8:6d";
Boolean winSCPLog = true;
string winSCPLogPath = "C:\\Users\\ttom\\Documents\\Visual Studio 2015\\Projects\\WebApplication1\\WebApplication1";

SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = ftpSite,
UserName = username,
Password = password,
SshHostKeyFingerprint = sshKey
};

using (Session session = new Session())
{
// WinSCP .NET assembly must be in GAC to be used with SSIS,
// set path to WinSCP.exe explicitly, if using non-default path.
session.ExecutablePath = winscpPath;
session.DisableVersionCheck = true;

if (winSCPLog)
{
session.SessionLogPath = @winSCPLogPath + @"ftplog.txt";
session.DebugLogPath = @winSCPLogPath + @"debuglog.txt";
}

// Connect
session.Timeout = new TimeSpan(0, 2, 0); // two minutes
session.Open(sessionOptions);

TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;

session.GetFiles(remoteFTPDirectory + "/" +
"test.txt", localPath, false, transferOptions);
}

enter image description here

最佳答案

我也遇到了同样的问题。但是在尝试了一些不同的模式之后,以下模式对我有用:

  1. 将 ssh-rsa 添加为第一部分
  2. 添加 2048(以位为单位的 key 长度)作为第二部分
  3. 删除 SHA256:如果您在获得的 key 中有它
  4. 只保留 key 部分,不要将它们分成 2 个一组,保留从命令 ssh-keygen -lf/etc/ssh/ssh_host_rsa_key.pub 获得的 key

示例:ssh-rsa 2048 N48XXXXH2x9W1ZIFXXXXXXXX6p3UqI6kGA8BbO1XXX

关于c# - SSH 主机 key 指纹与模式不匹配 C# WinSCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com