jsch-0.1.54. openSSH 8.3p1,jdk1.6,报错如下:
com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read
at com.jcraft.jsch.Session.connect(Session.java:565)
at com.jcraft.jsch.Session.connect(Session.java:183)
at com.neusoft.si.simis.local.banksftp.SFTPUtil.login(SFTPUtil.java:80)
at com.neusoft.si.simis.local.financialinterface.bankdisk.applogic.FsBankFtpTransfer.fileSftpUpload(FsBankFtpTransfer.java:261)
at com.neusoft.si.simis.core.financialinterface.domain.bankdisk.applogic.impl.PayBankDiskApplogicImpl.sendOffertoBank_zy(PayBankDiskApplogicImpl.java:201)
at com.neusoft.si.simis.core.financialinterface.domain.bankdisk.applogic.impl.PayBankDiskApplogicImpl.sendOffertoBank(PayBankDiskApplogicImpl.java:114)
at com.neusoft.si.simis.core.financialinterface.interaction.bankdisk.impl.PayBankDiskInteractionImpl.executeBankDiskSocailcard(PayBankDiskInteractionImpl.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
最好不修改jdk的方法
(修改/etc/ssh/sshd_config配置文件,添加jdk1.6支持的加密算法,(这个已经赔了,但是还是报错)
KexAlgorithms +diffie-hellman-group1-sha1
注意:
如果用的是jsch-0.1.52 jar包,按上述方法修改完即可。
如果用的是jsch-0.1.53及以上jar包,还需要对代码做如下修改:
修改代码,在session中指定加密算法为:diffie-hellman-group1-sha1,如下所示:
Properties sshConfig = new Properties();
sshConfig.put("kex", "diffie-hellman-group1-sha1");
版权声明:本文为CSDN博主「Vertoria」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Vertoria/article/details/82226340)