【发布时间】:2021-05-26 13:24:39
【问题描述】:
我在尝试建立与 AWS 托管 SFTP 服务器的连接时遇到问题。使用我手头的凭据,我可以使用sftp 命令从我的Windows 命令行连接到服务器。这是我的 .NET 代码:
using (var client = new SshClient(new ConnectionInfo(baseHost, user,
new AuthenticationMethod[]{
new PrivateKeyAuthenticationMethod(user,new PrivateKeyFile[]{
new PrivateKeyFile(keyLocation, pkpassword)
}),
}
)))
{
client.Connect(); // Timeout here
}
上面的代码到达 client.Connect() 行,然后在 30 秒后超时并出现 Renci.SshNet.Common.SshOperationTimeoutException 异常。当我查看 Wireshark 发生的情况时,我看到sftp 命令行实用程序使用的协议是 SSH,而 SSH.NET 使用的是 TCP,并且数据包大小完全不同。
有人知道我在这里可能缺少什么吗?
我在与上述代码相同的计算机上运行sftp 命令行实用程序。下面的第一个 Wireshark 图像来自上面的 C# 代码。第二个来自 sFTP 实用程序:
当我尝试在原始模式下使用 PuTTY 连接到服务器的端口 22 时,我没有收到任何响应。
谢谢,吉姆
【问题讨论】:
标签: c# amazon-web-services ssh sftp ssh.net