Installa Ansible su Debian per l'automazione

Installa Ansible su Debian per l'automazione

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 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.