Topologia di rete:
qui, il linuxhint-711ea è una macchina Ubuntu 20.04 LTS in cui installerò Ansible.
Quindi, configurerò gli host host1 (indirizzo IP 192.168.20.162) e ospite2 (indirizzo IP 192.168.20.153) per l'automazione di Ansible ed eseguire comandi su di essi utilizzando Ansible dal linuxhint-711ea macchina.
chiamerò semplicemente host1 e ospite2 come host Ansible in questo articolo.
Installazione di Ansible:
Puoi facilmente installare Ansible su Ubuntu 20.04 LTS dal repository ufficiale dei pacchetti di Ubuntu.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$sudoapt aggiornamento
La cache del repository del pacchetto APT dovrebbe essere aggiornata.
Ora, installa Ansible con il seguente comando:
$sudoadattoinstallareansiblePer confermare l'installazione, premere E e poi premere .
Ansible dovrebbe essere installato.
Ora, esegui il seguente comando per verificare se ansible funziona correttamente.
$ansible--versioneCome puoi vedere, il comando ansible è disponibile e funziona correttamente.
Generazione della chiave SSH:
Ora devi generare una chiave SSH sul computer in cui hai installato Ansible.
Per generare una chiave SSH, esegui il seguente comando:
$ssh-keygenOra premi .
premere .
premere .
Dovrebbe essere generata una chiave SSH.
Configurazione degli host Ubuntu per Ansible Automation:
In questa sezione, ti mostrerò come configurare un host Ubuntu ( host1 ) per l'automazione Ansible. Se hai più di un host che desideri automatizzare utilizzando Ansible, ripeti la stessa procedura su ciascuno degli host.
Gli host Ubuntu Ansible (che si desidera configurare per l'automazione Ansible) devono avere il pacchetto server SSH installato.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$sudoapt aggiornamentoQuindi, installa il server OpenSSH con il seguente comando:
$sudoadattoinstallareopenssh-server-eNel mio caso, il pacchetto del server OpenSSH è già installato. Se non è installato nel tuo caso, dovrebbe essere installato.
Ora, controlla se il sshd servizio è in esecuzione con il seguente comando:
$sudostato systemctl sshdCome puoi vedere, il sshd il servizio è attivo (di corsa) e abilitato (si avvierà automaticamente all'avvio del sistema).
Se la sshd il servizio non è attivo (in esecuzione) nel tuo caso, avvialo manualmente con il seguente comando:
$sudosystemctl avvia sshdSe la sshd il servizio non è abilitato (non aggiunto all'avvio del sistema) nel tuo caso, aggiungilo manualmente all'avvio del sistema con il seguente comando:
$sudosystemctlabilitaresshdOra, configura il firewall per consentire l'accesso SSH con il seguente comando:
$sudoufw consentiresshDovresti anche creare un ansible utente e consentire l'accesso sudo senza password al ansible utente.
Per creare un ansible utente, eseguire il seguente comando:
$sudoadduser ansibleOra, digita una password per il ansible utente e premere .
Ora, ridigita la password e premi .
Ora premi .
Ora premi .
Ora premi .
Ora premi .
Ora premi .
Ora digita e e poi premere .
Un ansible l'utente dovrebbe essere creato.
Ora, configura l'accesso sudo senza password al ansible utente con il seguente comando:
$buttato fuori 'ansible ALL=(ALL) NOPASSWD:ALL' | sudo tee /eccetera/sudoers.d/ansibleOra, trova l'indirizzo IP dell'host Ansible ( host1 ) con il seguente comando:
$Nome host -IOEcco, l'indirizzo IP nel mio caso è 192.168.20.162 . Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo modulo ora attivo.
Ora, dal computer in cui hai installato Ansible, copia la chiave pubblica SSH sull'host Ansible ( host1 ) come segue:
$ssh-copy-id ansible@192.168.20.162Digitare sì e premi .
Ora, digita la password per il ansible utente e premere .
La chiave pubblica SSH deve essere copiata in host1 .
Ora disabilita l'accesso basato su password per il ansible utente con il seguente comando:
$sudousermod-LansibleOra puoi solo SSH nell'host Ansible ( host1 ) come ansible utente senza alcuna password dal computer da cui hai copiato la chiave pubblica SSH (in questo caso, il computer su cui hai installato Ansible). Ma non sarai in grado di SSH nell'host Ansible ( host1 ) come ansible utente da qualsiasi altro computer. Ho configurato gli host Ansible in questo modo per motivi di sicurezza. Come la ansible l'utente non ha bisogno di alcuna password per l'esecuzione di comandi amministrativi, è rischioso consentire l'accesso basato su password per il ansible utente.
Ora dovresti essere in grado di eseguire SSH nell'host ansible host1 dal computer in cui hai installato Ansible come segue:
$sshansible@192.168.20.162Come puoi vedere, sono in grado di accedere all'host Ansible ( host1 ) come utente ansible senza alcuna password. Quindi, l'host Ansible ( host1 ) è pronto per l'automazione di Ansible.
Se per qualche motivo, desideri consentire l'accesso basato su password per il ansible utente di nuovo, esegui il seguente comando nell'host Ansible ( host1 ):
$sudousermod-UansiblePuoi configurare tutti gli host che desideri per l'automazione di Ansible allo stesso modo.
In questo articolo ho configurato solo 2 host, host1 e ospite2 per la dimostrazione.
Test Ansible:
Ora crea una nuova directory di progetto ~/ansible-demo/ nel computer in cui hai installato Ansible come segue:
$mkdir~/demo-ansibleOra vai a ~/ansible-demo/ directory come segue:
$cd~/demo-ansible/Ora, crea un nuovo padroni di casa file nella directory del progetto come segue:
$nanopadroni di casaOra, digita gli indirizzi IP o i nomi DNS degli host Ansible ( host1 e ospite2 nel mio caso) in padroni di casa file come segue:
192.168.20.162192.168.20.153
Ora salva il file premendo + X seguito da E poi .
Ora, prova a eseguire il ping di tutti gli host utilizzando Ansible come segue:
$ansible tutto-io./padroni di casa-uansible-m pingNOTA: Qui, l'opzione -u viene utilizzata per specificare il nome utente (ansible in questo caso) che Ansible utilizzerà per SSH negli host.
Come puoi vedere, è possibile eseguire il ping di tutti gli host. Quindi, gli host sono pronti per l'automazione di Ansible.
Allo stesso modo, puoi eseguire qualsiasi comando negli host utilizzando Ansible come segue:
$ansible tutto-io./padroni di casa-uansible-mguscio-a 'echo '$(nome host) - $(nome host -I)''Come puoi vedere, il comando è stato eseguito correttamente in ciascuno degli host e l'output viene visualizzato.
Quindi, è così che installi Ansible su Ubuntu 20.04 LTS e configuri gli host Ubuntu 20.04 LTS per l'automazione di Ansible. Grazie per aver letto questo articolo.