jenkins配置ssh的时候测试连接出现Algorithm negotiation fail

打印 上一主题 下一主题

主题 617|帖子 617|积分 1851

背景:当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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表