我使用以下代码连接到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 捕获了会话,它显示 ssh 服务器在密钥交换期间发送了重置请求。附上相同的屏幕截图。
Wireshark 会话图像
在上图中,xx.xx.xx.29 是我的机器,xx.xx.xx.51 是 SSH 服务器 IP
我在这里的其他线程中找不到任何解决方案。请帮助我。
在线查看 kex 以获取许多答案。 Session. SetConfig (kex ", "" diffie-hellman group1 -- sha1");