16

我正在我的构建中做一些事情以在我的 travis 测试中获得此输出。它挂起,因为我的测试无法接受或拒绝,并且测试失败:

The authenticity of host 'heroku.com (50.19.85.154)' can't be established.
RSA key fingerprint is 8b:48:5e:67:0e:c9:16:47:32:f2:87:0c:1blah.
Are you sure you want to continue connecting (yes/no)? 

我在 github.com 上遇到了类似的问题,但我改为只读 url。有没有办法让 travis 通过 ssh 自动授权任何身份验证请求,而不是为每个托管 git repo 的 x.com 处理这个问题?我可以通过以下方式在本地执行此操作:http://debuggable.com/posts/disable-strict-host-checking-for-git-clone: 49896ff3-0ac0-4263-9703-1eae4834cda3是否可以设置类似就在特拉维斯?

4

4 回答 4

30

好吧,我想我明白了。一种选择是将这些行添加到您的 ~/.ssh/config 中的 before_script 中,如下所示:

before_script:
  - echo -e "Host heroku.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
  - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config

似乎可以解决问题。

于 2013-05-19T19:44:55.340 回答
16

对此有新travis的内置设置

只需将其添加到您的配置中

addons:
  ssh_known_hosts:
  - git.example.com

https://docs.travis-ci.com/user/ssh-known-hosts/

于 2017-02-20T15:17:36.727 回答
4

如果您在使用 travis-ci 时遇到此错误,可能是因为您的 gems 文件中的一个 gem 正在使用 github @git

例如这个:

gem 'pi_piper', :git => 'git@github.com:bguest/pi_piper.git', :branch => 'stub-driver'

需要看起来像这样

gem 'pi_piper', :git => 'https://github.com/bguest/pi_piper.git', :branch => 'stub-driver'
于 2014-01-04T22:30:14.233 回答
1

一个更好的选择,而不是像接受的答案那样降低您的安全性,是让 travis 知道它实际上是一个受信任的主机。

他们的文档对此进行了讨论:

https://docs.travis-ci.com/user/ssh-known-hosts/#mitigations-and-workarounds

基本上,从服务器获取公钥,并将其添加到 travis 上的 known_hosts 文件中,在 .travis.yml 中:

install:
  - echo 'full_server_public_key_goes_here' >> $HOME/.ssh/known_hosts
于 2018-12-06T21:42:23.217 回答