Подтвердить что ты не робот

Авто Авторизация запросов SSH Auth на Travis CI

Я делаю что-то в своей сборке, чтобы получить этот результат в тестах на 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-адреса только для чтения. Вместо того, чтобы решать эту проблему для каждого x.com, на котором размещается репозиторий git, есть ли способ, чтобы travis просто авто разрешал любой запрос auth через ssh, который был сделан? Я могу сделать это локально через что-то вроде этого: http://debuggable.com/posts/disable-strict-host-checking-for-git-clone:49896ff3-0ac0-4263-9703-1eae4834cda3 можно ли установить что-то подобное на Travis?

4b9b3361

Ответ 1

Хорошо, думаю, я понял это. Один из вариантов заключается в том, чтобы добавить эти строки в ваш ~/.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

Кажется, это трюк.

Ответ 2

Существует новый travis встроенный параметр для этого

Просто добавьте его в конфигурацию

addons:
  ssh_known_hosts:
  - git.example.com

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

Ответ 3

Если вы получаете эту ошибку с помощью travis-ci, возможно, потому, что один из камней в вашем файле gems использует github @git

Например:

gem 'pi_piper', :git => '[email protected]:bguest/pi_piper.git', :branch => 'stub-driver'

Нужно выглядеть так:

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

Ответ 4

Лучшим вариантом, а не уменьшением вашей безопасности, как и в принятом ответе, является то, что Travis знает, что он на самом деле является доверенным хостом.

Их документы проходят через это:

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

В принципе, захватите открытый ключ с сервера и добавьте его в свой файл known_hosts на travis в вашем.travis.yml:

install:
  - echo 'full_server_public_key_goes_here' >> $HOME/.ssh/known_hosts