You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins升级Java及LTS版本后SSH连接初始化失败求助

Jenkins升级后SSH发布失败的解决方案

问题原因

升级Java到11.x和Jenkins LTS到2.4xx后,新版Jsch插件默认禁用了ssh-rsa、ssh-dss这类旧的服务器主机密钥算法,而部分旧服务器仅支持这些算法,导致密钥算法协商失败。

可行解决办法

方法1:通过JVM参数启用旧算法(快速生效,无需修改服务器)

  • 找到Jenkins的启动配置文件(Windows下通常是jenkins.xml,Linux下可能是/etc/default/jenkins或系统服务配置)
  • 在JVM启动参数中添加:
    -Dorg.jcraft.jsch.server_host_key=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
    
  • 重启Jenkins服务,再测试SSH连接

方法2:修改目标服务器SSH配置(长期推荐方案)

  • 登录连接失败的服务器,编辑/etc/ssh/sshd_config文件
  • 添加或更新以下配置:
    HostKeyAlgorithms +ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
    
  • 重启sshd服务:
    # 系统d服务的服务器
    systemctl restart sshd
    # 旧版SysV服务的服务器
    service ssh restart
    
  • 回到Jenkins测试连接

方法3:调整Publish Over SSH插件全局配置

  • 进入Jenkins「管理Jenkins」→「Configure System」→「Publish over SSH」
  • 展开对应SSH服务器配置的「Advanced」选项
  • 在「Server Host Key Algorithms」字段中,手动追加ssh-rsa,ssh-dss,与原有算法用逗号分隔
  • 保存配置后测试连接

内容的提问来源于stack exchange,提问作者Raghav Tallam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:52:38