gpt4 book ai didi

sftp - com.jcraft.jsch.JSchException : 4: Received message is too long: 1416128878

转载 作者:行者123 更新时间:2023-12-01 03:53:10 26 4
gpt4 key购买 nike

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

我的文件大小是 4.4MB。

错误是 received message is too long .

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

是否有任何配置可以更改最大大小限制?

这是我如何连接
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个常用框架

谢谢,
苏尼尔

最佳答案

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

来自 http://www.snailbook.com/faq/sftp-corruption.auto.html

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

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

关于sftp - com.jcraft.jsch.JSchException : 4: Received message is too long: 1416128878,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com