从SFTP访问我的远程服务器时,我不断收到此错误
连接意外关闭。服务器发送命令退出状态0
我在WinSCP中填写了相同的凭据,它运行正常。我缺少哪里? 另外,我在项目用户界面的密钥文件列中使用“ssh-rsa 1024 #######################”代替.ppk文件。
谢谢你,
Pranay
答案 0 :(得分:1)
对于上面的问题,我发现在尝试打开会话时#34;即session.Open(sessionOptions),它将通过异常,因为服务器没有验证它。
我的任务是"密码少winscp登录",即我必须提供: - 1" .ppk"文件是" puTTy私钥"。 2.它的" ssh密钥指纹"。
经过一整天的调试,终于发现我的winsscp.dll版本已经老了,因此没有为我提供[metadata] inbuild属性 1. SshPrivateKeyPath - >我们" .ppk"的位置文件。 2. SshHostKeyFingerprint 密码短语 - >只登录一次。
通过更新新版本及以上版本,我可以打开会话,没有任何错误。
谢谢。
答案 1 :(得分:1)
当我第一次尝试执行以下链接中提到的代码时,我也遇到了同样的问题。
https://winscp.net/eng/docs/library#example
用Google搜索了很多内容,但我找不到任何相同的解决方案。
最后,下面我重申了我在示例中错过了端口号
将端口号字段添加到我的代码中解决了这个问题。
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "11.22.33.44",
PortNumber = 2222, /* This is cause of the issue i was facing*/
UserName = "abcdef",
Password = "ghijklmnop",
SshHostKeyFingerprint = "ssh-rsa 2048 aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp"
};
答案 2 :(得分:1)
如果您可以使用WinSCP GUI连接,但不能与.NET程序集连接,则在同一环境(计算机)中运行时,您很可能错过了一些设置(如端口号或主机密钥指纹,另一个答案显示)。
最简单的解决方案是根据工作设置为您提供WinSCP GUI generate a code template。
如果您在其他计算机上运行代码,请查看WinSCP常见问题Why does WinSCP not work in a new environment (operating system, machine, user account, network), when it works for me in a different environment already?
虽然文章没有明确关于.NET程序集,但是关于WinSCP,但它也涵盖了程序集可能遇到的问题。