我有两个不同的服务器:
- 詹金斯
- EC2 实例(我的 vuejs 应用程序)
所以当我尝试使用 Jenkins SSH 插件将 vuejs 应用程序部署到远程服务器时
但无法连接
日志:
[SSH] executing...
ERROR: Failed to authenticate with public key
com.jcraft.jsch.JSchException: invalid privatekey: [B@482626ec
所以当我尝试通过命令行连接时:
ssh -i dev.pem ec2-user@ec2-ip -p 22
它连接了。请帮助我,我该怎么办?
答案1
我在票证中发现了同样的问题并解决了。
问题是私钥文件格式。
它与私钥头有关。这是来自 Macbook 上的 ssh-keygen,而不是来自 puttygen。Jenkins 和插件无法读取此格式。所以,我生成了新的 pem 文件。连接EC2服务器工作正常
私钥如下所示:
-----BEGIN RSA PRIVATE KEY-----
MIIE....