我正在通过chef
安装新服务器
并将ssh私钥和公钥加入其中。
创建后,我正在通过jenkins
部署应用程序并运行bundle install
。由于
Host key verification failed.
fatal: The remote end hung up unexpectedly
如果我自己进入服务器并运行bundle install
命令,我会收到提示
The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?
与github相同
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
我按是,捆绑完成。最重要的是,如果我再次运行jenkins作业,则捆绑包会成功完成。
如何通过jenkins自动批准这些远程服务器的真实性?
答案 0 :(得分:3)
批准的信息保存在~/.ssh/known_hosts
中,因此您可以将其与密钥一起复制,这样您就可以知道哪些密钥已被批准。
或者,您可以使用ssh-keyscan
检索信息并将结果附加到服务器的known_hosts
,但请注意,如果您自动执行此操作,则可能会接受MITM' s机器(因为你不知道已批准的内容)。
最后,您可以禁用主机检查ssh -o StrictHostKeyChecking=no github.com
,但这对于自动执行ssh-keys扫描也同样糟糕。