WinSCP SFTP 连接错误
WinSCP SFTP connection error
从 SFTP 访问我的远程服务器时,我不断收到此错误
Connection has been unexpectedly closed. Server sent command exit status 0
我在 WinSCP 中填写了相同的凭据,它工作正常。我哪里欠缺?
此外,我在项目 UI.
的密钥文件列中使用 "ssh-rsa 1024 #######################" 而不是 .ppk 文件
谢谢,
普拉奈
对于上述问题,我发现在尝试 "open the session" 即 session.Open(sessionOptions) 时,它将通过异常,因为服务器未对其进行身份验证。
由于我的任务是 "password less winscp login",即我必须提供:-
1.".ppk" 文件即 "puTTy private key"。
2. "ssh key fingerprint".
经过一整天的调试,终于发现我的 winsscp.dll 版本太旧,因此没有为我提供 [metadata] 内置属性
1. SshPrivateKeyPath -> 我们的“.ppk”文件的位置。
2.Ssh主机密钥指纹
3. passphrase -> only for one time login.
通过更新新版本及更高版本,我现在可以打开会话,没有任何错误。
谢谢。
我也遇到过同样的问题,当我第一次尝试执行下面提到的代码时 link。
https://winscp.net/eng/docs/library#example
用谷歌搜索了很多,但我找不到任何解决方案。
最后,我意识到我在示例中缺少 端口号
在我的代码中添加端口号字段解决了这个问题。
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"
};
如果您可以连接 WinSCP GUI,但不能连接 .NET 程序集,当 运行 两者都在同一环境(计算机)中时,您很可能错过了一些设置(例如端口号或主机密钥指纹,如其他答案所示)。
最简单的解决方案是根据其工作设置为您提供WinSCP GUI generate a code template。
如果你是 运行 不同机器上的代码,查看 WinSCP FAQ 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 的,它也涵盖了您在使用程序集时可能遇到的问题。
从 SFTP 访问我的远程服务器时,我不断收到此错误
Connection has been unexpectedly closed. Server sent command exit status 0
我在 WinSCP 中填写了相同的凭据,它工作正常。我哪里欠缺? 此外,我在项目 UI.
的密钥文件列中使用 "ssh-rsa 1024 #######################" 而不是 .ppk 文件谢谢,
普拉奈
对于上述问题,我发现在尝试 "open the session" 即 session.Open(sessionOptions) 时,它将通过异常,因为服务器未对其进行身份验证。
由于我的任务是 "password less winscp login",即我必须提供:- 1.".ppk" 文件即 "puTTy private key"。 2. "ssh key fingerprint".
经过一整天的调试,终于发现我的 winsscp.dll 版本太旧,因此没有为我提供 [metadata] 内置属性 1. SshPrivateKeyPath -> 我们的“.ppk”文件的位置。 2.Ssh主机密钥指纹 3. passphrase -> only for one time login.
通过更新新版本及更高版本,我现在可以打开会话,没有任何错误。
谢谢。
我也遇到过同样的问题,当我第一次尝试执行下面提到的代码时 link。
https://winscp.net/eng/docs/library#example
用谷歌搜索了很多,但我找不到任何解决方案。
最后,我意识到我在示例中缺少 端口号
在我的代码中添加端口号字段解决了这个问题。
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"
};
如果您可以连接 WinSCP GUI,但不能连接 .NET 程序集,当 运行 两者都在同一环境(计算机)中时,您很可能错过了一些设置(例如端口号或主机密钥指纹,如其他答案所示)。
最简单的解决方案是根据其工作设置为您提供WinSCP GUI generate a code template。
如果你是 运行 不同机器上的代码,查看 WinSCP FAQ 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 的,它也涵盖了您在使用程序集时可能遇到的问题。