JSch - SSH_MSG_KEXINIT 发送后没有进展

问题描述 投票:0回答:0

使用 JSch (0.1.55) 库连接到 SFTP 服务器的简单 Java 应用程序。 发送 SSH_MSG_KEXINIT 后在密钥交换步骤挂起。在下面记录。

代码在 Windows 测试机器上失败, 能够使用 WinSCP 连接相同的凭据。 同样的代码在我们最初发现问题的 Linux Docker 容器上也失败了。 只要我们不使用 JSch 库,相同的信用就可以正常工作。

我们尝试在配置属性中限制不同的 kex 设置,但没有任何区别。 直到大约一个月前,我们能够毫无问题地连接到该服务器,并继续使用相同的代码连接到其他服务器。

用于测试的简化代码

        JSch jsch = new JSch();
        java.util.Properties config = new Properties();
        config.put("StrictHostKeyChecking", "no");
        config.put("PreferredAuthentication", "password,keyboard-interactive");

        try {
            Session session = jsch.getSession(user, host, 22);
            session.setPassword(password);
            session.setConfig(config);
            session.connect(30 * 1000);
            session.disconnect();
        } catch (Exception e) {
            myLog(e.getMessage());
        }

有什么想法吗?

2023 年 3 月 17 日星期五 15:07:12 EDT - 连接到 ..com 端口 22
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - 已建立连接
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - 远程版本字符串:SSH-2.0-Serv-U_15.3.2.155
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - 本地版本字符串:SSH-2.0-JSCH-0.1.54
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - 检查密码:aes256-ctr、aes192-ctr、aes128-ctr、aes256-cbc、aes192-cbc、aes128-cbc、3des-ctr、arcfour、arcfour128、arcfour256
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - CheckKexes:diffie-hellman-group14-sha1、ecdh-sha2-nistp256、ecdh-sha2-nistp384、ecdh-sha2-nistp521
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - 检查签名:ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、ecdsa-sha2-nistp521
美国东部时间 2023 年 3 月 17 日星期五 15:07:13 - SSH_MSG_KEXINIT 已发送
美国东部时间 2023 年 3 月 17 日星期五 15:07:43 - 从 ****.
*****.com 端口 22
断开连接 与目标 VM 断开连接,地址:'localhost:64978',传输:'socket' 连接到目标虚拟机,地址:'127.0.0.1:64967',传输:'socket'
美国东部时间 2023 年 3 月 17 日星期五 15:07:55 - Session.connect:java.net.SocketTimeoutException:读取超时

java sftp jsch
© www.soinside.com 2019 - 2024. All rights reserved.