Topologia di rete
Qui, Ansible-PC è una macchina Debian 10 in cui installeremo Ansible.
I server 6f7c2 E 6B219 sono macchine Debian 10 che configureremo per Ansible Automation. Chiamerò semplicemente questi server Ansible Host ai fini di questo articolo.
Possiamo usare Ansible da Ansible-PC per automatizzare compiti diversi in 6f7c2 E 6B219 Server Debian.
Installazione di Ansible
In questa sezione, ti mostrerò come installare Ansible Ansible-PC.
È possibile installare Ansible su Debian 10 dal repository di pacchetti ufficiali di Debian.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$ sudo apt update
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. Ansible 2.7.7 è l'ultima versione di Ansible disponibile nel repository dei pacchetti Debian al momento in cui è stato scritto questo articolo.
Generare la chiave SSH
Sulla macchina Debian 10 (Ansible-PC) dove hai installato Ansible, devi prima generare una chiave SSH.
Per generare una chiave SSH, eseguire il seguente comando:
$ ssh-keygen
Ora, premere .
Premere .
Premere .
Una chiave SSH dovrebbe essere generata.
Configurazione degli host Debian per Ansible Automation
In questa sezione, ti mostrerò come configurare un host Debian per Ansible Automation. Se hai più host che si desidera automatizzare utilizzando Ansible, ripeti lo stesso processo per ciascuno degli host.
Gli host che desideri configurare per l'automazione Ansible devono avere il pacchetto SSH Server preinstallato.
Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:
$ sudo apt update
Quindi, installa il server OpenSSH 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 prima di questo passaggio.
Ora, controlla se il sshd Il servizio è in esecuzione tramite 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 attivo (in esecuzione), 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, crea un Ansible utente e consentire l'accesso sudo senza password a Ansible utente.
Per creare un Ansible utente, eseguire il seguente comando:
$ sudo adduser --shell /bin /bash --gecos "" Ansible
Digitare una password per il Ansible utente e premere .
Riprovare la password e premere .
UN Ansible L'utente dovrebbe essere creato.
Ora, per consentire l'accesso sudo senza password al Ansible utente, modifica il /etc/sudoers file con il seguente comando:
$ sudo Visudo
Ora, aggiungi la seguente riga al /etc/sudoers file.
Ansible All = (All) NOPASSWD: All
Quindi, salva il file premendo + X seguito da Y, e poi premere .
Ora, trova l'indirizzo IP dell'host Ansible 6f7c2 con il seguente comando:
$ hostname -i
Qui, l'indirizzo IP nel mio caso è 192.168.20.167. Sarà diverso per te. Quindi, assicurati di sostituire questo indirizzo con il tuo modulo ora.
Copia della chiave pubblica SSH sull'host Ansible
Dal computer in cui è stato installato Ansible (Ansible-PC), copia la chiave pubblica SSH sull'host Ansible 6f7c2 come segue:
$ ssh-copy-id [email protected]
Digitare SÌ e premere .
Successivamente, digita la password per il Ansible utente e premere .
La chiave SSH pubblica dovrebbe essere copiata su Ansible Host 6f7c2.
Dovresti essere in grado di ssh nell'host Ansible 6f7c2 come utente Ansible Senza alcuna password, come puoi vedere dallo screenshot di seguito:
$ ssh [email protected]
Dovresti anche essere in grado di eseguire comandi sudo senza essere richiesto per nessuna password.
$ sudo ls /
Infine, chiudi la sessione SSH come segue:
$ uscita
Assicurare ospiti Ansible
Come il Ansible L'utente può eseguire qualsiasi comando sudo senza essere richiesto per una password, abbiamo configurato l'accesso basato su tasti SSH per gli host Ansible. Ma puoi ancora ssh negli host Ansible come Ansible utente che utilizza la password del Ansible utente. Quindi, questo non è molto sicuro.
Per migliorare la sicurezza, eseguire il seguente comando sugli host Ansible per disabilitare l'accesso basato su password per il Ansible utente:
$ sudo usermod -l ansible
Se in seguito decidi di abilitare l'accesso basato su password per il Ansible utente, eseguire il seguente comando sull'host Ansible:
$ sudo usermod -u ansible
Test di Ansible
Crea una nuova directory di progetto ~/Progetto/ Nella macchina Debian in cui hai installato Ansible (Ansible-PC) Utilizzo del seguente codice:
$ mkdir ~/progetto
Navigare verso il ~/Progetto/ Directory utilizzando il seguente codice:
$ cd ~/progetto/
Crea un nuovo ospiti File nella directory del progetto come segue:
$ nano hosts
Ora elenca gli indirizzi IP o i nomi DNS degli host Ansible (6f7c2 E 6B219 nel mio caso) nel ospiti file:
192.168.20.167
192.168.20.168
Una volta terminato, salva il file premendo + X seguito da Y e poi colpire .
Per testare, prova a eseguire il ping di tutti gli host usando Ansible con il seguente codice:
$ ansible -i ./ospita tutto -u ansible -m ping
NOTA: Qui, il -u l'opzione viene utilizzata per specificare il nome utente (Ansible In questo caso) che Ansible utilizzerà a SSH negli host.
Come puoi vedere, Ansible può accedere a tutti gli host. Quindi, gli host sono pronti per l'automazione Ansible.
Quindi, è così che si installa Ansible su Debian 10 e configuri Host Debian per Ansible Automation. Grazie per aver letto questo articolo.