我使用他下面的代码连接到 ssh 服务器。
JSch jsch = new JSch();
Session session = jsch.getSession("username", "ip", port);
Properties config = new Properties();
config.put("kex", "diffie-hellman-group1-sha1");
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword("password");
session.connect(5000); // Exception raises here
异常如下所示。
com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read
由于我没有得到日志(由于应用程序限制),我通过 WireShark 捕获了 session ,它显示在 key 交换期间 ssh 服务器发送了一个重置请求。
附上相同的屏幕截图。
wireshark session image
在上图中,xx.xx.xx.29 是我的机器,xx.xx.xx.51 是 ssh 服务器 ip
我在这里的其他线程中没有找到任何解决方案。请帮我。
最佳答案
在线查看 kex 以获得许多答案。Session. SetConfig (kex ", "" diffie-hellman group1 -- sha1");
关于session - Jsch 0.1.54 session.connect() throws com.jcraft.jsch.JSchException : Session. connect : java. io.IOException: End of IO Stream Read,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108694/