Настройка проверки ключей хоста
Если вы предпочитаете оставить включенной проверку ключей хоста, вы можете настроить ее в соответствии с вашими потребностями. Вот несколько вариантов:
Ручное принятие ключей хоста
Когда вы впервые подключаетесь к удаленному хосту, Ansible попросит вас принять открытый ключ хоста. Вы можете вручную принять ключ, введя "yes", когда появится запрос:
The authenticity of host 'example.com (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:abcd1234efgh5678.
Are you sure you want to continue connecting (yes/no)? yes
Это добавит открытый ключ хоста в файл known_hosts, и Ansible будет использовать его для проверки идентичности хоста при последующих подключениях.
Автоматическое принятие ключей хоста
В качестве альтернативы вы можете настроить Ansible на автоматическое принятие ключей хоста, установив параметр host_key_auto_add
в файле конфигурации Ansible:
[defaults]
host_key_auto_add = True
Это автоматически добавит новые ключи хоста в файл known_hosts без запроса подтверждения.
Указание пользовательского файла known_hosts
По умолчанию Ansible использует файл ~/.ssh/known_hosts
для хранения ключей хоста. Однако вы можете указать пользовательский файл known_hosts, установив переменную окружения ANSIBLE_SSH_ARGS
:
export ANSIBLE_SSH_ARGS="-o UserKnownHostsFile=/path/to/custom/known_hosts"
ansible-playbook my_playbook.yml
Это может быть полезно, если вы хотите поддерживать отдельные файлы known_hosts для разных окружений или проектов.
graph LR
A[Ansible] -- Prompt for Manual Acceptance --> B[known_hosts file]
A -- Automatically Accept --> C[known_hosts file]
A -- Specify Custom File --> D[/path/to/custom/known_hosts]
Настраивая проверку ключей хоста, вы можете найти баланс между безопасностью и удобством, обеспечивая безопасность ваших соединений в Ansible при одновременном сохранении эффективного рабочего процесса.