---http_port: 80app_version: "2.1.0"nginx_worker_processes: auto
Настройка SSH
1. Генерация ключа (на Control Node)
ssh-keygen -t ed25519 -C "ansible-control"# Enter для всех вопросов (без passphrase для автоматизации)
2. Копирование ключа на серверы
# Один серверssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@192.168.1.10# Все серверы из inventory (быстрый скрипт)for host in 192.168.1.10 192.168.1.11 10.0.0.5; do ssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@$hostdone
3. Проверка (пароль не должен запрашиваться)
ssh ubuntu@192.168.1.10
SSH Troubleshooting
Проблема
Решение
Permission denied (publickey)
Проверить: ключ добавлен в ~/.ssh/authorized_keys? Права 700 на .ssh/, 600 на authorized_keys
Host key verification failed
host_key_checking = False в ansible.cfg или ssh-keyscan host >> known_hosts
Нужен пароль sudo
ansible-playbook site.yml -K или ansible_become_pass в vault
Параметры подключения
Переменная
Описание
По умолчанию
ansible_host
IP или домен
имя хоста
ansible_port
SSH-порт
22
ansible_user
SSH-пользователь
текущий
ansible_ssh_private_key_file
Путь к ключу
~/.ssh/id_rsa
ansible_connection
Тип: ssh, local, docker, winrm
ssh
ansible_become
Использовать sudo
false
ansible_become_method
Метод: sudo, su, doas
sudo
ansible_python_interpreter
Путь к Python
auto
Проверка инвентаря
# Граф групп и хостовansible-inventory -i inventory/hosts.yml --graph# Все переменные хоста (с учётом group_vars + host_vars)ansible-inventory -i inventory/hosts.yml --host web-01# Ping всех хостовansible all -m ping# Ping конкретной группыansible webservers -m ping# Список хостов (без подключения)ansible all --list-hosts