Конвейерная обработка не влияет на аутентификацию - она связывает отдельные вызовы модулей в один больший файл для передачи через один раз, когда соединение установлено.
Чтобы не прекращать выполнение и предлагать принять SSH-ключ, вам необходимо отключить строгую проверку ключа хоста, а не разрешить конвейерную обработку.
Вы можете установить, что при экспорте ANSIBLE_HOST_KEY_CHECKING=False
или установить его в ansible.cfg с:
[defaults] host_key_checking=False
Последнее, вероятно, лучше для вашего случая использования, потому что это упорным.
Обратите внимание, что даже если это настройка, относящаяся к соединениям ssh, она находится в разделе [defaults]
, а не [ssh_connection]
.
==
Тот факт, что при вводе yes
вы не войти в систему создает впечатление, что это не может быть вашей единственной проблемой, но вы не дали достаточно информации, чтобы решить все остальное.
Если у вас по-прежнему возникают проблемы с подключением после отключения проверки ключа хоста, отредактируйте вопрос, чтобы добавить вывод вашего SSHing в экземпляр вручную вместе с выходом незанятого воспроизведения с -vvv
для подробного вывода.
Первые шаги полистать при поиске неисправностей:
- Каковы различия между при подключении и когда анзибль делает?
- Действительно ли установленный номер
ansible_ssh_user
для пользователя ec2?
- Является ли
ansible_ssh_private_key_file
такой же, как частная часть ключевой пары, которую вы назначили экземпляру при создании?
- Правильно ли установлено
ansible_ssh_host
тем, что генерирует динамический инвентарь?
Можете ли вы ssh в свои экземпляры ec2 вручную без проблем? – larsks
Да, я могу ssh вручную. Если я удалю файл ansible.cfg, то снова будет запрашиваться проверка хоста, но на этот раз, когда я набираю yes, он позволяет мне в –