6

Я запускаю / останавливаю множество новых экземпляров, когда учусь использовать Amazon EC2. Каждый временный экземпляр добавляется в файл known_hosts. Является ли это проблемой для тех, кто часто использует EC2?

Я бы хотел попросить ssh пропустить этот шаг каждый раз, когда я подключаюсь к amazonaws.com. Есть ли способ сделать это в конфиге? Я использую Linux и openssh.

3 ответа3

14

Попробуй это:

ssh -q -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no -i $MYKEY $MYUSERNAME@$MYIP $MYCOMMAND

Вы также можете сделать это в вашем конфигурационном файле:

Host *.amazonaws.com
  User root
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  LogLevel QUIET
2

Это сделано, чтобы не допустить нападения Человека на Среднем. Отключение отключит основные функции инструментов ssh.

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

0

Я написал скрипт, который исправляет это. Он использует публичные ключи cloud-init, зарегистрированные через консольный вывод EC2. (То, что вы на самом деле отметили в своем комментарии, является единственным правильным подходом).

По сути, вы указываете ему имя экземпляра, и он находит идентификатор экземпляра + IP, и создает для него пользовательский файл UserKnownHostsFile, используя публичные ключи, которые он находит в выводе консоли, и запускает SSH с другими переданными аргументами.

https://github.com/kjpgit/ec2ssh/blob/master/ec2ssh.py

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .