Jenkins EC2 代理 - 主机密钥验证失败

问题描述 投票:0回答:1

我正在使用 Jenkins EC2 Plugin 按需生成代理。在我的工作期间,我必须克隆其他存储库,所以我使用

sshagent
。但是我收到了
Host key verification failed
错误,所以我在克隆之前添加了:
sh 'ssh-keygen -F github.company.com || ssh-keyscan -H -t rsa github.company.com >> ~/.ssh/known_hosts'
,这并不能解决我的问题。我对得到的输出感到非常困惑:

+ ssh-keygen -F github.company.com
2024-06-03 11:02:03.310  Cannot stat /home/ubuntu/.ssh/known_hosts: No such file or directory
2024-06-03 11:02:03.310  + ssh-keyscan -H -t rsa github.company.com
2024-06-03 11:02:03.310  /home/ubuntu/workspace/job-name@tmp/durable-b8889414/script.sh.copy: line 1: /home/ubuntu/workspace/job-name/.ssh/known_hosts: No such file or directory

看起来脚本尝试在主目录中查找

known_hosts
,但如果没有,则尝试添加到不同位置的
known_hosts
。有人可以向我解释一下这种行为或者它应该是什么样子吗?

jenkins amazon-ec2 ssh-keys
1个回答
0
投票

~
扩展由于某种原因而被破坏。尝试使用
$HOME
代替,这样更可靠。

sh 'ssh-keygen -F github.company.com || ssh-keyscan -H -t rsa github.company.com >> $HOME/.ssh/known_hosts'

保留单引号,更改为双引号会过早扩展

$HOME

© www.soinside.com 2019 - 2024. All rights reserved.