Due opzioni: la prima, come hai detto nella tua risposta, è impostare la variabile di ambiente ANSIBLE_HOST_KEY_CHECKING
su False.
Il secondo modo per impostarlo è metterlo in un file ansible.cfg, e questa è un'opzione davvero utile perché puoi impostarla globalmente (a livello di sistema o utente, in /etc/ansible/ansible.cfg
o ~/.ansible.cfg
), o in un file di configurazione nella stessa directory come il playbook che stai utilizzando.
Per fare ciò, crea un ansible.cfg
file in una di quelle posizioni e includi questo:
[defaults]
host_key_checking = False
Puoi anche impostare molte altre impostazioni predefinite a portata di mano, come se raccogliere o meno i fatti all'inizio di una rappresentazione, se unire gli hash dichiarati in più punti o sostituirli uno con l'altro, e così via. C'è un intero elenco di opzioni qui nei documenti Ansible.
Modifica: una nota sulla sicurezza.
La convalida della chiave host SSH è un livello di sicurezza significativo per host persistenti : se ci si connette più volte allo stesso computer, è utile accettare la chiave host a livello locale.
Per istanze EC2 di lunga durata, sarebbe logico accettare la chiave host con un'attività eseguita una sola volta alla creazione iniziale dell'istanza:
- name: Write the new ec2 instance host key to known hosts
connection: local
shell: "ssh-keyscan -H {{ inventory_hostname }} >> ~/.ssh/known_hosts"
Non esiste alcun valore di sicurezza per il controllo delle chiavi host su istanze che si alzano dinamicamente e si rimuovono subito dopo l'esecuzione del playbook, ma esiste un valore di sicurezza nel controllo delle chiavi host per macchine persistenti. Quindi è necessario gestire il controllo della chiave host in modo diverso per ambiente logico.
- Lascia il controllo abilitato per impostazione predefinita (in
~/.ansible.cfg
)
- Disabilita il controllo della chiave host nella directory di lavoro per i playbook che esegui contro istanze effimere (
./ansible.cfg
insieme al playbook per test unitari contro macchine virtuali vaganti, automazione per istanze ec2 di breve durata)