Versão 2.1 do Ansible
Eu tenho um arquivo de inventário hosts
[nodes]
host1
host2
...
E um manual simples site.yml
---
- hosts: all
tasks:
- include: tasks/main.yml
Se eu começar a peça,
ansible-playbook -i hosts site.yml -vvvv
Eu recebo esse erro para todos os hosts,
ESTABLISH SSH CONNECTION FOR USER: None
fatal: [host1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
...
No entanto, lendo o documento Ansible Inventory , adicionei ansible_user
ao hosts
arquivo,
[nodes]
host1 ansible_user=root
host2 ansible_user=root
...
Isso resolve o SSH CONNECTION UNREACHABLE
erro. No entanto, tenho que adicionar ansible_user=root
ao lado de todos os hosts? Ou existe uma maneira mais simples de fazer isso?
Outra maneira é usar
--user
para definir o usuário ssh remoto. Digiteansible-playbook --help
para ler mais. Este é o meu comando típico:ansible-playbook -i hosts site.yml --user <user> --ask-pass -vvvv
--ask-pass
solicitará a digitação da senha para--user
fonte
Além de modificar o
ansible.cfg
, u também pode definir variáveis para o grupo 'all' ou outros gruposhttps://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#group-variables
fonte