【发布时间】:2016-07-21 05:21:43
【问题描述】:
我正在使用SSH.NET library 连接到远程 SFTP 服务器。我正在尝试使用非常基本的代码,但它不起作用
using (var client = new SftpClient(host, username, password))
{
client.Connect();
client.ChangeDirectory(@"sftp://server.example.com/other_directory");
}
但是,这会在 ChangeDirectory 方法上引发 No Such File 异常。
我对 Curl 进行了同样的尝试,但出现错误提示
curl: (51) SSL 对等证书或 SSH 远程密钥不正确
但是,我添加了 curl 的 --insecure 参数,一切正常。
--insecure 部分是否与SSH.NET 库不工作的原因有关,还是有其他原因?有没有办法模拟 --insecure 在 C# 中的作用?
谢谢
【问题讨论】:
-
在我看来,
sftp://server.example.com/拒绝了您的安全连接。所以这可能是一个配置问题,而不是你在客户端做错了什么。 -
一开始我认为可能是这种情况,但我可以通过 curl 和我机器上的其他第三方工具访问它,所以我认为它会在我身边?
-
使用像wireshark或fiddler这样的嗅探器捕获数据,并比较工作和非工作应用程序的结果。通常问题在于 html 标头的差异。
-
@jdweng 好主意,谢谢!
-
修复了,答案贴在下面