在OpenSSH版本升级到8.5及以上版本后,JSch连接Linux机器可能会出现问题。这是因为OpenSSH的默认配置更严格,需要更安全的密钥算法。

要解决此问题,可以尝试以下解决方案:

  1. 更新JSch库:确保使用的是最新版本的JSch库,以便兼容最新的OpenSSH版本。可以在Maven或Gradle配置文件中更新JSch依赖项。

  2. 设置密钥算法:尝试更改JSch的密钥算法配置,以与OpenSSH的要求匹配。可以使用session.setConfig("PubkeyAcceptedAlgorithms", "ssh-rsa,ssh-dss")来设置接受的密钥算法列表。

  3. 调整OpenSSH配置:如果您有权限访问Linux机器上的OpenSSH配置文件,可以尝试调整以下配置项:

    • PubkeyAcceptedAlgorithms:确保在配置文件中设置了允许的密钥算法列表。
    • KexAlgorithms:确保在配置文件中设置了允许的密钥交换算法列表。

    请注意,修改OpenSSH配置文件可能需要root权限,并且更改配置可能会对系统安全性产生影响,请谨慎操作。

如果以上解决方案都无法解决问题,建议查看JSch和OpenSSH的文档,以了解更多关于连接问题的信息和解决方案

java使用jsch连接linux机器当linux的openssh版本升级到85及以上版本时java连接不上连接代码为: public boolean createConnection 对密码进行解密 password = AesCryptdecryptpassword; JSch jSch = new JSch; try

原文地址: https://www.cveoy.top/t/topic/hUS2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录