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 插件进行设置时显示错误算法协商失败的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 通过 SSH 发布无法更改到远程目录

如何在 Linux 中创建用于 Github 的 Jenkins SSH 密钥?

Jenkins Publish over ssh 身份验证失败,使用私钥

尝试将 jenkins 与 github 连接的私有 ssh 密钥问题

jenkins publish over ssh是啥意思

为Windows 8上的Jenkins启用ssh-agent作为服务