由于安全性较弱,RSA 密钥将被停用,因此尝试使用以下命令使用 ED25519 类型生成密钥
ssh-keygen -t ed25519 -C “testkey”
并生成公钥私钥。将公钥复制到authorized_key
远程服务器的文件夹,并尝试使用私钥从 Jumphost 访问服务器,这是成功的,但在 Jenkins 尝试时却不起作用。
- 用于 SSH 的命令
ssh -i “ed25519 private key with proper permission” user@remotehost “pwd”
ssh -V
在 Jumphost 服务器、Jenkins 服务器和远程服务器上返回相同的版本ssh -Q key
ed25519
在相同的三台服务器上返回
不确定问题到底出在哪里,以及为什么 Jenkins 无法连接并且身份验证失败。
- 尝试
ssh -vvv
详细检查日志并获得相同的身份验证失败错误,但信息不多。 sshd
配置看起来也很好,防火墙也打开了。- 尝试将密钥转换为 PEM 格式但无法再次工作 -
但运气不佳,它仍然是 OpenSSH 格式。ssh-keygen -p -m PEM -f
OpenSSL pkcs8 -in -topk8 outform PEM -out path
没有运气
不确定此问题的根本原因是 Jenkins 无法通过该服务器的身份验证。