ToB企服应用市场:ToB评测及商务社交产业平台

标题: jenkins配置ssh的时候测试连接出现Algorithm negotiation fail [打印本页]

作者: 魏晓东    时间: 2024-6-8 07:48
标题: jenkins配置ssh的时候测试连接出现Algorithm negotiation fail
背景:当jenkins升级后,同时ssh插件也升级,测试ssh连接的时候
出现的问题:
        com.jcraft.jsch.JSchAlgoNegoFailException: Algorithm negotiation fail: algorithmName="server_host_key" jschProposal="ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256" serverProposal="ssh-rsa,ssh-dss"
原因分析:
        是因为ssh插件升级,jsch包也升级了,当jsch的版本从0.1.x升级到0.2.x的时候,禁用了ssh-rsa,ssh-dss算法,而linux服务器的版本不变,linux支持的算法和升级的jsch算法不一致导致的。其中 jschProposal 是我们的Jenkins SSH插件启用的算法列表,而 serverProposal 是服务端支持的算法列表。
解决方法:
       1  启动的时候加上这两个参数:-Djsch.client_pubkey=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256  -Djsch.server_host_key=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
  1. -Djsch.client_pubkey=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256  
  2. -Djsch.server_host_key=ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256
复制代码
注:其实就是把问题中提示的serverProposal和jschProposal两个算法列表参数合并起来添加到启动参数中,最好把serverProposal放在前面

    2  加入参数的位置:
        1 如果是war包直接启动的:直接在java -jar 后面添加这两个参数
        2 如果是exe启动的(windows的msi安装版是在服务启动的),那就找到jenkins目录下的jenkins.xml,找到<service>下的<arguments>标签jvm参数后


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4