未能在詹金斯中使用公钥进行身份验证

未能在詹金斯中使用公钥进行身份验证

我有两个不同的服务器:

  1. 詹金斯
  2. EC2 实例(我的 vuejs 应用程序)

所以当我尝试使用 Jenkins SSH 插件将 vuejs 应用程序部署到远程服务器时

但无法连接

日志:

[SSH] executing...
ERROR: Failed to authenticate with public key
com.jcraft.jsch.JSchException: invalid privatekey: [B@482626ec

在此输入图像描述 私钥(dev.pem文件内容) 在此输入图像描述 我不知道出了什么问题。

所以当我尝试通过命令行连接时:

ssh -i dev.pem ec2-user@ec2-ip -p 22

它连接了。请帮助我,我该怎么办?

答案1

我在票证中发现了同样的问题并解决了。

https://issues.jenkins-ci.org/browse/JENKINS-57495

问题是私钥文件格式。

它与私钥头有关。这是来自 Macbook 上的 ssh-keygen,而不是来自 puttygen。Jenkins 和插件无法读取此格式。所以,我生成了新的 pem 文件。连接EC2服务器工作正常

私钥如下所示:

-----BEGIN RSA PRIVATE KEY-----
MIIE....

相关内容