背景:当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.

最低0.47元/天 解锁文章
1975





