Topologia di rete:
Qui, il Linuxhint-711ea è un ubuntu 20.04 LTS MACCHINE dove installerò Ansible.
Quindi, configurerò gli host host1 (Indirizzo IP 192.168.20.162) e host2 (Indirizzo IP 192.168.20.153) per l'automazione ansible ed eseguire comandi su di essi usando Ansible dal Linuxhint-711ea macchina.
Chiamerò semplicemente host1 E host2 Come host Ansible in questo articolo.
Installazione di Ansible:
Puoi facilmente installare Ansible su Ubuntu 20.04 LTS Dal repository di pacchetti ufficiali di Ubuntu.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$ sudo apt update
La cache del repository del pacchetto APT deve essere aggiornata.
Ora, installa Ansible con il seguente comando:
$ sudo APT Installa Ansible
Per confermare l'installazione, premere Y e poi premere .
Ansible dovrebbe essere installato.
Ora, esegui il seguente comando per verificare se Ansible funziona correttamente.
$ ansible -Version
Come 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, eseguire il seguente comando:
$ ssh-keygen
Ora, premere .
Premere .
Premere .
Una chiave SSH dovrebbe essere generata.
Configurazione di host ubuntu per l'automazione Ansible:
In questa sezione, ti mostrerò come configurare un host Ubuntu (host1) per l'automazione ansible. Se hai più di un host che si desidera automatizzare utilizzando Ansible, ripeti lo stesso processo su ciascuno degli host.
Gli host Ubuntu Ansible (che si desidera configurare per l'automazione Ansible) devono avere un pacchetto server SSH installato.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$ sudo apt update
Quindi, installa OpenSsh Server con il seguente comando:
$ sudo apt install OpenSsh -server -y
Nel mio caso, il pacchetto di server OpenSSH è già installato. Se non è installato nel tuo caso, dovrebbe essere installato.
Ora, controlla se il sshd Il servizio è in esecuzione con il seguente comando:
$ sudo systemctl status sshd
Come puoi vedere, il sshd Il servizio è attivo (corsa) e abilitato (avvia automaticamente con l'avvio del sistema).
Se la sshd Il servizio non lo è attivo (in esecuzione) Nel tuo caso, avvialo manualmente con il seguente comando:
$ sudo systemctl avvia sshd
Se la sshd Il servizio non lo è abilitato (Non aggiunto all'avvio del sistema) Nel tuo caso, aggiungilo manualmente all'avvio del sistema con il seguente comando:
$ sudo systemctl abilita sshd
Ora, configura il firewall per consentire l'accesso a SSH con il seguente comando:
$ sudo ufw consenti ssh
Dovresti anche creare un Ansible utente e consentire l'accesso sudo senza password a Ansible utente.
Per creare un Ansible utente, eseguire il seguente comando:
$ sudo adduser ansible
Ora, digita una password per il Ansible utente e premere .
Ora, revisionare la password e premere .
Ora, premere .
Ora, premere .
Ora, premere .
Ora, premere .
Ora, premere .
Ora, digita y e poi premere .
UN Ansible L'utente dovrebbe essere creato.
Ora, configura l'accesso sudo senza password al Ansible utente con il seguente comando:
$ echo "Ansible All = (All) NOPASSWD: All" | sudo tee /etc /sudoers.d/ansible
Ora, trova l'indirizzo IP dell'host Ansible (host1) con il seguente comando:
$ hostname -i
Qui, l'indirizzo IP nel mio caso è 192.168.20.162. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo modulo ora.
Ora, dal computer in cui è stato installato Ansible, copia la chiave pubblica SSH sull'host Ansible (host1) come segue:
$ ssh-copy-id [email protected]
Digitare SÌ e premere .
Ora, digita la password per il Ansible utente e premere .
La chiave SSH pubblica dovrebbe essere copiata host1.
Ora, disabilita l'accesso basato su password per il Ansible utente con il seguente comando:
$ sudo usermod -l ansible
Ora puoi solo ssh nell'host Ansible (host1) COME Ansible Utente senza alcuna password dal computer da copiare la chiave pubblica SSH (in questo caso, il computer in cui è stato 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 il Ansible L'utente non ha bisogno di password per l'esecuzione di comandi amministrativi, è rischioso consentire l'accesso basato su password per il Ansible utente.
Ora dovresti essere in grado di ssh nell'host Ansible host1 Dal computer in cui è stato installato Ansible come segue:
$ ssh [email protected]
Come puoi vedere, sono in grado di accedere all'host Ansible (host1) come utente ansible senza alcuna password. Quindi, l'ospite Ansible (host1) è pronto per l'automazione Ansible.
Se per qualche motivo, si desidera consentire l'accesso basato su password per il Ansible ANCORA USUTO, eseguire il seguente comando nell'host Ansible (host1)
$ sudo usermod -u ansible
È possibile configurare tutti gli host che desideri per l'automazione Ansible allo stesso modo.
In questo articolo, ho configurato solo 2 host, host1 E host2 per la dimostrazione.
Test di Ansible:
Ora, crea una nuova directory di progetto ~/ansible-demo/ Nel computer in cui è stato installato Ansible come segue:
$ mkdir ~/ansible-demo
Ora, naviga su ~/ansible-demo/ directory come segue:
$ cd ~/ansible-demo/
Ora, crea un nuovo ospiti File nella directory del progetto come segue:
$ nano hosts
Ora, digita gli indirizzi IP o i nomi DNS degli host Ansible (host1 E host2 nel mio caso) nel ospiti file come segue:
192.168.20.162
192.168.20.153
Ora, salva il file premendo + X seguito da Y poi .
Ora, prova a eseguire il ping di tutti gli host usando Ansible come segue:
$ ansible tutto -i ./host -u ansible -m ping
NOTA: 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, tutti gli host possono essere pingiti. Quindi, gli host sono pronti per l'automazione Ansible.
Allo stesso modo, è possibile eseguire qualsiasi comando negli host usando Ansible come segue:
$ ansible tutto -i ./host -u ansible -m shell -a 'echo "$ (hostname) -$ (hostname -i)"'
Come puoi vedere, il comando ha eseguito correttamente in ciascuno degli host e l'uscita viene visualizzata.
Quindi, è così che installi Ansible su Ubuntu 20.04 LTS e Configura Ubuntu 20.04 host LTS per l'automazione Ansible. Grazie per aver letto questo articolo.