0


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
-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

注:其实就是把问题中提示的serverProposal和jschProposal两个算法列表参数合并起来添加到启动参数中,最好把serverProposal放在前面

2  加入参数的位置:

    1 如果是war包直接启动的:直接在java -jar 后面添加这两个参数

    2 如果是exe启动的(windows的msi安装版是在服务启动的),那就找到jenkins目录下的jenkins.xml,找到<service>下的<arguments>标签jvm参数后

标签: jenkins ssh 运维

本文转载自: https://blog.csdn.net/t0404/article/details/136206576
版权归原作者 t0404 所有, 如有侵权,请联系我们删除。

“jenkins配置ssh的时候测试连接出现Algorithm negotiation fail”的评论:

还没有评论