Posso bypassare il controllo della chiave host in Ansible?


19

Sto eseguendo un playbook Ansible con un trucco sottile per lavorare su una porta di port forwarding arbitraria (quindi posso usare una macchina senza accesso diretto a molte macchine).

Ho una pre-attività per cambiare la ansible_portvariabile, quindi quando inizio a eseguire i miei compiti e ruoli reali, mi viene richiesto di accettare le hostkey per localhost su una porta casuale.

Poiché sono ingenuo e non mi preoccupo della sicurezza, vorrei che ssh accettasse e reindirizzasse automaticamente /dev/null(o un altro file per la registrazione).

È possibile?


Puoi farlo attraverso le opzioni ssh che passi alla configurazione ansible.
Jiri Klouda,

Risposte:


26

Questo in genere viene fatto impostando il seguente valore in ansible.cfg:

[defaults]
host_key_checking = False

Se non si desidera modificare ansible.cfgè possibile impostare una variabile di ambiente in questo modo:

export ANSIBLE_HOST_KEY_CHECKING=False

Fonte: http://docs.ansible.com/ansible/intro_getting_started.html#host-key-checking


Sto usando MacOS e sto impostando host_key_checking = Falso ma ho ancora "ATTENZIONE: POSSIBILE RILEVAMENTO DELLO SPOOFING DNS!". L'ho risolto dopo essermi reso conto che mi ero collegato a un host di destinazione con lo stesso nome in precedenza e poi l'ho ricostruito in modo che ci fosse una vecchia chiave in ./ssh/known_hosts.
Chad Juliano,

21

Nel tuo ansible.cfgfile devi aggiungere la seguente riga:

ssh_args = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

Puoi anche aggiungere quelle opzioni nel tuo ~/.ssh/configsu ogni macchina da cui esegui qualcosa del genere:

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

1
Questo dovrebbe funzionare. Inoltre, guarda il file ansible.cfg per ulteriori impostazioni :)
Dawny33

+1 per l'aggiunta di Dawny, perché chi usa Paramiko dovrà usare ansible.cfg
Woodland Hunter

1
C'è un modo appropriato per impostarlo all'interno del playbook? Ho provato ansible_ssh_common_argse ansible_ssh_extra_argsnon ha la precedenza su ciò che ho in ansible.cfg. Ho un ansible.cfg che uso per tutto il resto e preferirei semplicemente sostituire quei parametri per questo tipo di playbook piuttosto che copiarlo solo per fare quel cambiamento.
Peter Turner,

3
Non posso parlare con quelle variabili, Peter, ma potresti inserire ansible.cfg modificato nella directory con questo playbook, e avrà la precedenza.
Woodland Hunter

1
UserKnownHostsFile = / dev / null infrange completamente la sicurezza ssh
mmv-ru
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.