.JSchException:数据包损坏

2024-03-25

我在 RHEl 6 上使用 Jsch 0.1.51 和 Jdk 1.7_51。在与远程计算机进行会话时,我收到以下异常:

com.jcraft.jsch.JSchException: Packet corrupt
        at com.jcraft.jsch.Session.start_discard(Session.java:1049)
        at com.jcraft.jsch.Session.read(Session.java:919)
        at com.jcraft.jsch.UserAuthNone.start(UserAuthNone.java:56)
        at com.jcraft.jsch.Session.connect(Session.java:389)
        at com.jcraft.jsch.Session.connect(Session.java:183)
        at TestSFTP.checkException(TestSFTP.java:130)
        at TestSFTP.moveFileToDir(TestSFTP.java:78)
        at TestSFTP.main(TestSFTP.java:73)

相同的代码在 RHEL 5 上运行良好。任何人都可以提供一些建议..谢谢

使用的代码是:

Session   session     = null;
ChannelSftp channelSftp = null;
JSch jsch = new JSch();

session = jsch.getSession(this.sftpUser,this.sftpHost,this.sftpPort);

Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(this.sftpPassword);
session.connect();
channelSftp = (ChannelSftp)session.openChannel("sftp");
channelSftp.connect();

我在 session.connect(); 处收到错误


如果您尝试连接已存在的会话,则可能会发生此异常。解决方法是关闭会话,然后开始新会话。这对我有帮助。从这个网站找到了一些帮助:

http://flyingjxswithjava.blogspot.com/2015/03/comjcraftjschjscheException-packet.html http://flyingjxswithjava.blogspot.com/2015/03/comjcraftjschjschexception-packet.html

引用网站上的要点来理解问题:

  • 当Session在循环中重复使用,故意断开会话或者由于超时而需要重新连接时,就会出现此异常。

  • 抛出这样的异常的原因是Session第一次连接到远程站点时,会为Session生成一个称为Packet的随机数。

  • 当线程处于 1 小时睡眠状态时,会话会由于在一段时间内没有活动而自动断开连接。

  • 当Session断开时,Packet就会丢失。

  • 当Session尝试重新连接时,它找不到Packet,因此抛出异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.JSchException:数据包损坏 的相关文章

  • 使用当前用户的凭据进行 javamail NTLM 身份验证

    如何将 JavaMail API 与 NTLM 身份验证结合使用到 Exchange 服务器 而无需指定用户名和密码 而是自动使用当前登录用户的凭据 单点登录 我的目的是让我的客户端程序 在我公司网络中的 Windows 计算机上运行 能够
  • 在进行字符识别之前使用 OpenCV 进行图像预处理(超正方体)

    我正在尝试开发简单的 PC 应用程序用于车牌识别 Java OpenCV Tess4j 图像不是很好 进一步它们会很好 我想对超立方体图像进行预处理 但我被困在车牌检测 矩形检测 上 我的步骤 1 源图像 Mat img new Mat i
  • 我的 Java Web 应用程序中的 ClassNotFoundException/NoClassDefFoundError

    我使用 Java 开发了一个 Web 应用程序 当我将其部署到我的应用程序服务器 Jetty Tomcat JBoss GlassFish 等 时 会抛出错误 我可以在堆栈跟踪中看到此错误消息 java lang ClassNotFound
  • 比 O(n) 更好的范围交集算法?

    范围交集是一个简单但不平凡的问题 已经回答过两次了 查找数字范围交集 https stackoverflow com questions 224878 find number range intersection 比较日期范围 https
  • 使用 lsof 对“打开的文件过多”进行故障排除

    我有一个在 Linux 上运行的 Java 应用程序 PID 为 25426 运行时lsof p 25426 我注意到 java 25426 uid 420w FIFO 0 8 0t0 273664482 pipe java 25426 u
  • 字符串文字的行为令人困惑

    下面的代码中字符串文字的行为非常令人困惑 我可以理解第 1 行 第 2 行和第 3 行是true 但为什么是第 4 行false 当我打印两者的哈希码时 它们是相同的 class Hello public static void main
  • 如何重新安装最新的cmake版本?

    我想在Linux环境下安装cmake的最新版本 我安装了 cmake 3 5 版 但某些应用程序不支持 我尝试通过卸载当前版本来升级它 但是当我使用 sudo apt get install cmake 重新安装时 我重新安装了相同的版本
  • 如何使用 Java 以编程方式登录 Facebook?

    我正在尝试编写一个可以自动登录 Facebook 的 Java 程序 到目前为止 我已经得到了以下代码 可以将主页 html 页面下载到字符串中 但不知道如何发送电子邮件和密码来登录 Facebook Java 程序还需要处理返回的 coo
  • 如何在 selenium Chrome 功能中设置默认下载目录?

    请查找以下具有 chrome 功能的代码 事实上浏览器并没有将文件下载到指定的路径 private static DesiredCapabilities getChromeCapabilities throws Exception Stri
  • linux命令行:如何简单地将任意字符串输入管道?

    我正在寻找一个非常简单的技巧 假设文件中error txt 有一个很长的字符串 errorMessage key1 some message key2 message 2 由于它的格式不适合读者 如果我想在终端中以格式良好的形式查看它 我可
  • java中的new关键字是多余的吗?

    我来自 C 所以 java 的一个特性我不太理解 我读过所有对象都必须使用关键字创建new 但基元除外 现在 如果编译器可以识别原始类型 并且不允许您在不调用其构造函数的情况下创建对象new 有这个关键字的原因是什么new根本吗 有人可以提
  • 通常可重用的注释或公共注释?

    有没有常用的注释 类似于 commons lang 如果没有 您是否见过在任何开源应用程序开发中有效使用注释 不是内置注释 的情况 我记得 Mifos 用它来进行交易 Mohan i think 休眠验证器 http www hiberna
  • 如何使用 JAVA 将本地图像而不是 URL 发送到 Microsoft Cognitive Face API

    我正在尝试使用 Microsoft 认知服务的 Face API 我想知道如何通过 Rest API 调用将本地图像发送到 Face API 并使用它请求结果JAVA 有人可以帮我解决这个问题吗 Microsoft 在其网站上提供的测试选项
  • 光线追踪三角形

    我正在用java编写一个光线追踪器 并且我能够追踪球体 但我相信我追踪三角形的方式有问题 据我了解 这是基本算法 首先确定射线是否与plane三角形已打开 剪裁所有点 使它们与三角形位于同一平面上 因此xy以平面为例 根据沿着新平面向任意方
  • 如何在java中将ojalgo稀疏数组存储到文件中?

    我目前有一个 SparseStore 矩阵 我在其中执行大量计数和计算 我想将其存储到文件中 以便以后可以重复使用它 而无需重新执行之前的所有计算 我尝试了 Java 中的基本序列化 ObjectOutputStream outputStr
  • Spring MVC - 两次提供内容

    我已经花了一周时间寻找有关如何将内容服务器到我的网页的指导 两次 因为使用 Model 或 ModelAndView 切断内容一次可以工作 但如果用户再次与页面交互 我希望它加载更多内容同一页 Java Spring 后端方法 Get 有效
  • 如何在 C++ 中检查文件是否已被另一个应用程序打开?

    我知道 有is open C 中的函数 但我希望一个程序检查文件是否尚未被另一个应用程序打开 有没有办法使用标准库来做到这一点 编辑 在答案中澄清这是针对 Linux 应用程序的 不仅标准库没有这个功能 一般来说也是不可能的 你可以 在li
  • 如何在带有空格的目录上使用 find ?

    这里有一些奇怪的事情 mkdir p 1 2 3 4 touch 1 2 3 4 file jpg for f in find type f name jpg do echo f done 这返回 1 2 3 4 file jpg and
  • 当考虑性能时如何从文件中读取整数?

    我正在 CodeEval 上执行一些任务 基本上任务非常简单 打印出从文件中读取的所有整数的总和 我的解决方案如下 import java io File import java io IOException import java io
  • Java邮件,设置回复地址不起作用

    我用java写了一个小的电子邮件发送程序 它有from to and reply to地址 当客户端尝试回复邮件时 应该能够回复reply to地址 目前它不起作用 我的代码如下 File Name SendEmail java impor

随机推荐

  • 如何让两个雷神任务共享选项?

    有了托尔 人们就可以使用method option https github com wycats thor wiki Method Options设置特定任务的选项 要为班级中的所有任务设置选项 可以使用class option 但是 如
  • 使用流 API 更新新列后无法将新值插入 BigQuery 表

    我在 bigquery 表中发现了一些奇怪的行为 我刚刚创建了一个新列 在表中添加了一个新列 它在界面上看起来不错 并通过 api 获取架构 但是 当向新列添加值时 出现以下错误 insertErrors errors message no
  • Android 实时音频分析

    我已经在网上搜索过这个 但仍然有点困惑 因为我相信其他人如果想到这样的事情也会感到困惑 我想在序言中说 这是not为了家庭作业和 或利润 我想创建一个应用程序 可以在您准备爆米花时监听微波炉的声音 当弹出声音之间有一定的时间间隔 比如 5
  • 访问另一个结构体指针内的结构体指针内的元素

    只是想了解结构体的嵌套指针如何工作 如何访问另一个指向结构的指针中的结构指针中的元素 谢谢 include
  • 如何让 Qt 识别 QMYSQL 驱动程序

    我试图从 Qt 应用程序访问 MySql 数据库 但出现以下错误 QSqlDatabase QMYSQL driver not loaded QSqlDatabase available drivers QSQLITE QSQLITE2 我
  • 确定 Java 8 中的列表是否由字谜元素组成

    我想确定列表是否是字谜或不使用 Java 8 输入示例 cat cta act atc tac tca 我已经编写了以下函数来完成这项工作 但我想知道是否有更好 更优雅的方法来完成这项工作 boolean isAnagram String
  • Kotlin 和 Firebase 读写数据

    我已经学习 Kotlin 3 周了 所以我想从我的 Firebase 数据库中读取数据 这是写入数据的MainActivity kt val database Firebase database val latitude latitude
  • 如何使用 shell 脚本连接 2 个 csv 文件?

    我正在尝试制作一个 shell 脚本 它将通过以下方式组合两个 csv 文件 我有两个 csv 文件 f1 csv 和 f2 csv f1 csv的格式为 startId endId roomNum f2 csv 的格式如下 startId
  • 使用 Wget 跳过成功下载的文件

    所以我有这个 Bash 子例程来使用 wget 下载文件 现在我的问题是如何跳过成功下载的文件 该脚本会下载很多文件 一旦下载失败 它会重新下载所有文件 覆盖那些从一开始就成功的下载 可能会因为重新下载而不完整 那么如何跳过那些下载成功的文
  • Heroku 上的媒体文件

    如果我在 Heroku 上托管一个小型 Django 网站 并且只使用一台 dyno 那么是否可以在该服务器上上传媒体文件 或者我是否必须使用 AWS S3 存储来存储媒体文件 媒体存储还有哪些其他替代方案 不 在 Heroku 文件系统上
  • 如何以编程方式检查、获取和设置 Android 手机中的触摸设置?

    是否可以通过编程方式获取 Android 中的各种触摸设置 例如 gt 拨号盘按键音 gt 触摸声音 gt 屏幕锁定声音 gt 触摸时振动 我尝试访问 System Settings 中的各种常量 但我没有看到任何提及触摸设置的常量 任何人
  • pImpl 是否从根本上解决了 C++ DLL 问题?

    我正在尝试从带有 stl 成员的 DLL 中导出 C 类 这是我的主要课程 class MATHFUNCSDLL API MyMathFuncsImpl public std vector
  • 如何限制对 Firestore 中用户拥有的文档的写入?

    我有一些文章 每篇文章都有一个参考字段到个人资料document撰写该特定文章的作者的姓名 经过身份验证的用户 使用 Firebase 的身份验证 将与这些配置文件关联 仅当当前登录的用户拥有该文章时 如何才能使这些文章可由该用户编辑 在
  • 构造函数中具有实例名称知识的 Matlab 类

    我想要一个类 在其构造函数中可以了解其实例名称 提取为字符串 目前 我像这样提取名称 classdef mysession methods Access public function this mysession varargin thi
  • 在 Rails 5+ 中禁用 sprocket 资源缓存

    我已经尝试了很多禁用 Rails 中的 sprocket 资源缓存 但没有成功 我尝试配置development rb 但它根本不起作用 我正在使用此代码来禁用缓存生成 config assets cache store null stor
  • 更改最后一个
  • 的 CSS
  • 我想知道是否有某种方法可以更改最后一个 CSS 属性li在使用 CSS 的列表中 我已经研究过使用 last child 但这看起来确实有问题 我无法让它为我工作 如有必要 我将使用 JavaScript 来完成此操作 但我想知道是否有人可
  • 如何解释 Seaborn distplot 的轴

    Snippet plt figure figsize 10 5 plt xticks np arange 0 11 1 sns distplot 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 kde F
  • 如何增加LVL缓存有效时间?

    我已经在我的应用程序中实施了 LVL 服务器托管策略 我知道lvl服务器响应会在设备中缓存一段时间 因此用户可以在没有互联网连接的情况下使用应用程序 然后lvl使用缓存的许可证 我想知道这个期限到底有多长以及如何延长它 基本上 lvl 我已
  • 用于在不同工作簿中选择范围的 VBA 对话框

    我想允许用户选择可能位于不同工作簿中的范围 我尝试使用 inputbox type 8 来执行此操作 它可以选择工作簿中的数据 但不允许我在不同的工作簿中选择范围 因此我想要一个允许我执行此任务的对话框 由于我有空 我为您创建了一个示例 创
  • .JSchException:数据包损坏

    我在 RHEl 6 上使用 Jsch 0 1 51 和 Jdk 1 7 51 在与远程计算机进行会话时 我收到以下异常 com jcraft jsch JSchException Packet corrupt at com jcraft j