由于git ssh密钥而导致从新服务器错误捆绑安装

时间:2016-01-06 19:03:11

标签: git bash jenkins ssh

我正在通过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自动批准这些远程服务器的真实性?

1 个答案:

答案 0 :(得分:3)

批准的信息保存在~/.ssh/known_hosts中,因此您可以将其与密钥一起复制,这样您就可以知道哪些密钥已被批准。

或者,您可以使用ssh-keyscan检索信息并将结果附加到服务器的known_hosts,但请注意,如果您自动执行此操作,则可能会接受MITM' s机器(因为你不知道已批准的内容)。

最后,您可以禁用主机检查ssh -o StrictHostKeyChecking=no github.com,但这对于自动执行ssh-keys扫描也同样糟糕。