Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sftp com.jcraft.jsch.JSchException:4:收到的消息太长:1416128878_Sftp_Jsch - Fatal编程技术网

Sftp com.jcraft.jsch.JSchException:4:收到的消息太长:1416128878

Sftp com.jcraft.jsch.JSchException:4:收到的消息太长:1416128878,sftp,jsch,Sftp,Jsch,我正在使用jsch连接到sftp服务器并下载文件 我的文件大小是4.4MB 错误是收到的消息太长 可以下载的文件大小的最大限制是多少 是否有任何配置来更改最大大小限制 这是我如何联系的 session=jsch.getSession(“##”,“##”,“22”); session.setPassword(“##”); session.setConfig(“StrictHostKeyChecking”、“no”); session.connect(); sftpChannel=(ChannelS

我正在使用
jsch
连接到sftp服务器并下载文件

我的文件大小是4.4MB

错误是
收到的消息太长

可以下载的文件大小的最大限制是多少

是否有任何配置来更改最大大小限制

这是我如何联系的 session=jsch.getSession(“##”,“##”,“22”); session.setPassword(“##”); session.setConfig(“StrictHostKeyChecking”、“no”); session.connect(); sftpChannel=(ChannelSftp)session.openChannel(“sftp”); sftpChannel.connect(); sftpChannel.cd(“###”); sftpChannel.lcd(“##”)

错误消息是

从SFTP服务器获取服务器响应时出错。 位于com.scheduler.DataDiaryDataPullJob.main(DataDiaryDataPullJob.java:60)[classes/:na] 原因:com.jcraft.jsch.JSchException:4:收到的消息太长:1416128878 在com.jcraft.jsch.ChannelSftp.start(ChannelSftp.java:315)~[jsch-0.1.50.jar:na] 在com.jcraft.jsch.Channel.connect(Channel.java:152)~[jsch-0.1.50.jar:na] 在com.jcraft.jsch.Channel.connect(Channel.java:145)~[jsch-0.1.50.jar:na] 在com.scheduler.DataDiaryDataPullJob.downloadSurveyFiles(DataDiaryDataPullJob.java:152)[classes/:na] ... 省略了2个公共框架 原因:com.jcraft.jsch.SftpException:收到的消息太长:1416128878 在com.jcraft.jsch.ChannelSftp.start(ChannelSftp.java:265)~[jsch-0.1.50.jar:na] ... 省略了5个公共框架

谢谢,
Sunil

我也遇到了这个问题,发现我的shell启动脚本正在破坏我的sftp会话

“为了让它工作,SSH会话必须是“干净的”——也就是说,它必须只有两端程序传输的信息。不过,经常发生的情况是,服务器上的系统或每个用户shell启动文件(.bashrc、.profile、/etc/csh.cshrc、.login等)中都有语句它在登录时输出文本消息,供人类阅读(如《财富》杂志、echo“你好!”等)。当有tty附加到标准输入时,此类代码应仅在交互式登录上生成输出。如果未进行此测试,则会将这些文本消息插入它们不属于的位置:在这种情况下,会污染scp2/sftp和sftp服务器之间的协议流。文本的前四个字节将被解释为32位数据包长度,通常是一个非常大的数字,引发上面的错误消息。”


一种可能的解决方案是编辑启动脚本。

在登录到计算机时,它会返回一些文本。如果返回的字符串更多,sftp将给出错误

尝试重置配置文件(.bashrc或.cshrc)或注释配置文件中的所有回音


对我来说,它奏效了。

你能提供更多细节吗?e、 g.发出完整的错误消息。如何连接/下载?以下是我如何连接Interesting analysis:1416128878(十进制)=5468696E(十六进制)=精简(文本ASCII)当您直接连接到终端$ssh时。。。您是否收到包含“Thin”的响应?