Jenkins SSH 服务器在尝试通过 SSH 插件进行设置时显示错误算法协商失败
Posted
技术标签:
【中文标题】Jenkins SSH 服务器在尝试通过 SSH 插件进行设置时显示错误算法协商失败【英文标题】:Jenkins SSH server showing error Algorithm negotiation fail while trying to setup with over the SSH plugin 【发布时间】:2021-01-18 21:39:04 【问题描述】:Jenkins SSH 服务器在尝试通过 ssh 连接到本地服务器(Linux 容器)时尝试使用 通过 SSH 插件进行设置时显示提到的错误算法协商失败 .我可以在终端上使用 ssh 进行连接。
jenkins.plugins.publish_over.BapPublisherException:无法连接和初始化 SSH 连接。消息:[无法连接配置 [anisbleHOST] 的会话。消息[算法协商失败]]
Ubuntu 机器 - auth.log 无法与 xx.xx.xx.x 端口 39866 协商:找不到匹配的主机密钥类型。他们的报价:ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 [preauth]
尝试使用下面提到的 sshd_config 值,但没有成功。
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman -group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
【问题讨论】:
【参考方案1】:为了解决上述问题,我首先对 /etc/ssh/sshd_config 进行了更改,并使用 ssh-keygen 重新生成了 RSA 密钥。 Jenkins 不支持使用 ed25519 生成的密钥。
我的新 sshd_config -
HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
主机密钥 /etc/ssh/ssh_host_key
主机密钥 /etc/ssh/ssh_host_rsa_key
HostCertificate /etc/ssh/ssh_host_key-cert.pub
Kex 算法 diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,ecdh-sha2-nistp256,ecdh-sha2-nistp384
PubkeyAcceptedKeyTypes ssh-rsa,ssh-rsa-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
TrustedUserCAkeys /etc/ssh/ssh_user_ca.pub
密码验证否
ChallengeResponseAuthentication 否
使用 PAM 是的
PrintMotd 没有
AcceptEnv LANG LC_*
子系统 sftp /usr/lib/openssh/sftp-server
日志级别调试
如果对你有帮助,请点赞:)
【讨论】:
以上是关于Jenkins SSH 服务器在尝试通过 SSH 插件进行设置时显示错误算法协商失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Linux 中创建用于 Github 的 Jenkins SSH 密钥?
Jenkins Publish over ssh 身份验证失败,使用私钥