我正在我的构建中做一些事情,以便在我的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有类似的问题,但我改为只读网址。而不是为每个托管git repo的x.com处理这个问题,有没有办法让travis只通过ssh自动授权任何auth请求?我可以通过以下方式在本地进行此操作:http://debuggable.com/posts/disable-strict-host-checking-for-git-clone:49896ff3-0ac0-4263-9703-1eae4834cda3是否可以在Travis上设置类似的内容?
答案 0 :(得分:29)
好的,我想我明白了。一个选项是在before_script中将这些行添加到〜/ .ssh / config中,如下所示:
before_script:
- echo -e "Host heroku.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
似乎要做的伎俩。
答案 1 :(得分:12)
此
有新的travis
内置设置
只需将其添加到您的配置
即可addons:
ssh_known_hosts:
- git.example.com
答案 2 :(得分: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'
答案 3 :(得分:1)
一个更好的选择是让travis知道它实际上是受信任的主机,而不是像公认的答案那样降低您的安全性。
他们的文档详细介绍了此
https://docs.travis-ci.com/user/ssh-known-hosts/#mitigations-and-workarounds
基本上,从服务器上获取公钥,并将其添加到travis的.travis.yml中的known_hosts文件中:
install:
- echo 'full_server_public_key_goes_here' >> $HOME/.ssh/known_hosts