JENKINS远程访问SSH提示Algorithm negotiation fail

1,670 阅读1分钟

image.png

在JENKINS里面配置SSH Servers,发现一台测试服务器ssh就是不通,但可以用SSH访问:

image.png ssh登录是正常的。 我尝试过升级SSH,由原来的5.3升级到8.0还是一样

jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [192.168.127.77]. Message [Algorithm negotiation fail: algorithmName="server_host_key" jschProposal="ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256" serverProposal="ssh-rsa,ssh-dss"]]

我尝试了添加算法:HostKeyAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,但还是不行。 查了百度很多文章发现很有可能是ssh升级后,为了安全,默认不再采用原来一些加密算法。导致不可连接 我最后发现用jenkins 2.24版本是可以连接的

image.png

所以最后我决定切换低版本jsch

image.png

去官网下载对应的版本:

image.png

点击direct link, 可以下载到jsch.hpi

然后在插件管理升级:

image.png

选择hpi:

image.png

记得升级插件前,先把服务器上面的插件备份一下。

image.png

升级完需要重启服务器,但我升级之后发现GIT插件没了,jsch版本低了git插件用不了 又进入死循环。。。。

突然心生一计,先把插件线还原,再手动更新插件

image.png 把旧的jar先备份,然后把上次更新的jar传过来

image.png

重启jenkins,发现没问题,终于解决

image.png