0

我正在尝试使用 Tamir.shaprSSH 连接到 sftp 服务器。我现在的 sftp 服务器是一个测试服务器,是一个 IP 地址。我可以使用 FileZilla 连接到它,但不能使用我的代码。我尝试连接到我的生产使用的另一个 sftp 服务器,并且我能够使用相同的代码进行连接。下面是我尝试连接时的代码和错误

SFTPConnection = new Sftp(_FTPServer, _FTPUserId, _FTPPassword);
        SFTPConnection.Connect();
        SFTPConnection.Put(_LocalFilePath, "./" + _FTPSubFolder);

{"Session.connect: System.IO.IOException: 在 Tamir.SharpSsh.jsch.IO.getByte(Byte[] 数组,Int32 开始,Int32 长度) 处的 IO 流读取结束\r\n\r\n。 SharpSsh.jsch.Session.read(缓冲区 buf)\r\n 在 Tamir.SharpSsh.jsch.UserAuth.start(会话会话)\r\n 在 Tamir.SharpSsh.jsch.UserAuthNone.start(会话会话)\r\ n 在 Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)"} System.Exception {Tamir.SharpSsh.jsch.JSchException}

sftp 服务器或我的代码有问题吗?我也有所有必需的 ddls。

4

2 回答 2

0

确保您已从 nuget 添加以下软件包

安装包 DiffieHellman 安装包 Org.Mentalis.Security

并检查具有确切文件夹位置的上传路径。

于 2016-06-20T11:32:52.627 回答
0

如果您在应用程序部署到的生产服务器上启用了 FIPS,有时可能会出现此错误。如果是这样,您可以修改 app.config 文件并将“enforceFIPSPolicy”设置为 false,它可能会解决您的问题。

:)

于 2016-08-13T18:01:43.657 回答