IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Ошибка: Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this

Ошибка {"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."} возникает в Ansible, когда вы пытаетесь подключиться к удаленному хосту, используя пароль SSH вместо ключа, но при этом включена проверка ключей хоста (Host Key checking). Эта проверка требует, чтобы отпечаток ключа удаленного хоста был добавлен в файл known_hosts, а утилита sshpass, используемая для передачи пароля, не может обойти эту проверку.

Возможные решения

  1. Добавление ключа хоста вручную в known_hosts:
    • Подключитесь к хосту вручную с помощью SSH, чтобы его ключ был добавлен в known_hosts. Например:
       
    • После первого подключения отпечаток ключа будет добавлен в файл ~/.ssh/known_hosts, и Ansible сможет подключаться к этому хосту без проблем.
  2. Отключение проверки ключей хоста:
    • Временное отключение проверки ключей хоста может помочь обойти эту ошибку. Для этого можно изменить параметр host_key_checking в конфигурационном файле ansible.cfg:
       
    • Или добавить переменную окружения перед запуском плейбука:
       
  3. Использование SSH-ключа вместо пароля:
    • Настоятельно рекомендуется использовать SSH-ключи для аутентификации вместо пароля, так как это безопаснее и поддерживается по умолчанию Ansible без использования sshpass. Настройте подключение с помощью SSH-ключей, добавив их на сервер и указав путь к приватному ключу в ansible.cfg:
       
  4. Установка и использование sshpass (если требуется использование пароля):
    • Если необходимо использовать пароль и sshpass, то необходимо отключить проверку ключей хоста, как указано выше, иначе sshpass не сможет работать. Убедитесь, что sshpass установлен на вашей системе:
       

Пример конфигурации ansible.cfg:

Вывод

Лучший подход — использовать SSH-ключи для аутентификации, а отключение проверки ключей хоста — это временное решение, которое следует применять с осторожностью, так как это снижает безопасность подключения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *