我在RHEl 6上与Jdk 1.7_51一起使用Jsch 0.1.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()上出错;
发布于 2015-06-15 21:24:33
如果试图在已经存在的会话上连接,则可能发生此异常。周围的工作是结束会话,然后开始新的会话。这对我有帮助。从这个网站上找到了一些帮助:
http://flyingjxswithjava.blogspot.com/2015/03/comjcraftjschjschexception-packet.html
引用网站的要点来理解这个问题:
https://stackoverflow.com/questions/27838523
复制相似问题