SSH: StrictHostKeyChecking установлен на не, но подсказка все еще появляется

Я пытаюсь настроить автоматический, развертываются из моего сценария, который является, пробежал Travis CI, таким образом, мне нужно к SSH в мой сервер без любых подсказок.

Мой развертывать сценарий похож на это:

ssh ubuntu@123.123.123 -i ./travis/id_rsa <<EOF
  echo "PRINT SOMETHINGGGGGGGGGGGGGGGGG"
EOF

Это работает локально, потому что я уже имею SSHed к серверу прежде и сказал "да" всем подсказкам.

На моем сервере (IP-адрес: 123.123.123), у меня есть пользователь ubuntu.

Я пытался установить StrictHostKeyChecking no в моем /home/ubuntu/.ssh/config файл:

Host *
    StrictHostKeyChecking no

Однако даже с этой установкой его продолжает просить у меня мой цифровой отпечаток.

The authenticity of host '123.123.123 (123.123.123)' can't be established.
ECDSA key fingerprint is 87:a8:8a:50:9c:a9:87:3e:c5:17:6d:b0:f1:28:7e:d3.
Are you sure you want to continue connecting (yes/no)? 

Как я мешал бы ему спросить?

1
задан 26 June 2018 в 21:12

1 ответ

Из документов:

StrictHostKeyChecking

[...], Если этот флаг будет установлен на "нет" или “прочь”, то ssh автоматически добавит новые ключи хоста к пользователю известные файлы hosts и позволит соединениям с хостами с измененным hostkeys продолжаться согласно некоторым ограничениям. [...]

Необходимо добавить что, установив на клиенте, любом путем помещения строк

# for all hosts
Host *
    StrictHostKeyChecking no

или

# for a particular host
Host 123.123.123.123
    StrictHostKeyChecking no

в Ваше локальное ~/.ssh/config.

Можно также предоставить опцию непосредственно в Вашем ssh команда (таким образом перезаписывающий любые настройки в файле конфигурации):

ssh -o StrictHostKeyChecking=no ubuntu@123.123.123.123 -i ./travis/id_rsa

Ключ хоста говорит клиенту, что целевой узел является на самом деле хостом, которым он симулирует быть. В теории Вы могли вызвать администратора сервера и попросить, чтобы он (по телефону или что-то) сказал Вам вывод ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub и затем сравните ту строку с цифровым отпечатком, показанным на Вашем клиенте. Если они соответствуют, то Вы в безопасности и можете добавить тот ключ к Вашему known_hosts файл. С StrictHostKeyChecking=no Вы просто говорите клиенту просто верить/доверять целевой машине и принимать ее ключ.

4
ответ дан 3 December 2019 в 06:51

Другие вопросы по тегам:

Похожие вопросы: