Ogni volta che parliamo di strumenti di gestione della configurazione, il nome che sentiamo più spesso è Ansible. È uno strumento multipiattaforma progettato per gestire le configurazioni di sistema mentre si lavora con i sistemi operativi Linux, macOS e Windows. Oggi proveremo a fare luce sulla procedura di installazione di Ansible su Debian 10.
Installazione di Ansible su Debian 10
Per installare Ansible su Debian 10, è necessario eseguire i seguenti tre semplici passaggi:
Fase n. 1:aggiorna il tuo sistema Debian 10:
Prima di installare Ansible su Debian 10, devi aggiornarlo con il comando mostrato di seguito:
sudo apt update
Dopo aver aggiornato il tuo sistema Debian 10, vedrai qualcosa come mostrato nella seguente immagine sul tuo terminale:
Passaggio n. 2:installa Ansible sul tuo sistema Debian 10:
Al termine dell'aggiornamento del sistema, puoi installare Ansible su Debian 10 con il comando mostrato di seguito:
sudo apt install ansible
Durante il tempo in cui questo comando verrà eseguito, vedrai un messaggio che ti chiede se vuoi continuare con l'installazione o meno sul tuo terminale. Devi digitare "Y" in modo che il processo di installazione continui a funzionare senza intoppi, come evidenziato nell'immagine seguente:
Quando Ansible sarà installato correttamente sul tuo sistema Debian 10, il terminale produrrà alcuni messaggi simili a quelli mostrati nell'immagine seguente:
Fase n. 3:conferma l'installazione di Ansible sul tuo sistema Debian 10:
L'installazione di Ansible su un sistema Debian 10 è così semplice che verrà completata entro i due passaggi precedenti. Tuttavia, puoi comunque verificare se è stato installato correttamente sul tuo sistema Debian 10 o meno. Questo può essere fatto controllando la sua versione con il seguente comando:
ansible --version
La versione di Ansible installata sul nostro sistema Debian 10 è la 2.7.7, evidenziata anche nell'immagine mostrata di seguito:
Modifica il file Ansible hosts /etc/ansible/hosts per aggiungere il sistema che vogliamo gestire con Ansible.
sudo nano /etc/ansible/hosts
Aggiungi quanto segue:
[TestClient] node1 ansible_ssh_host=192.168.0.12
And save the file.
Utilizzo di Ansible
Innanzitutto, dobbiamo configurare una chiave SSH per il nodo client poiché Ansible utilizza il protocollo SSH per trasferire i comandi al sistema client.
Utilizzare questo comando per generare una chiave SSH per l'autenticazione basata su chiave:
ssh-keygen
Uscita:
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:gTHiTCK....................... [email protected] The key's randomart image is: +---[RSA 2048]----+ | . . . | +----[SHA256]-----+
Il passaggio successivo consiste nel copiare la chiave appena generata nell'altro sistema. Esegui questo comando:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
L'IP 192.168.0.2 nel comando precedente deve essere sostituito con l'indirizzo IP del sistema che si desidera gestire con Ansible.
Uscita:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: Number of key(s) added: 1
Ora è il momento di un primo test, accedi all'altra macchina usando questo comando SSH:
ssh [email protected]
L'accesso dovrebbe funzionare senza richiedere una password ora.
Test Ansible
La parte di installazione è terminata, ora possiamo iniziare a testare Ansible
Esegui questo comando per testare la connessione:
ansible -m ping TestClient
Uscita:
node1 | SUCCESS => { "changed": false, "ping": "pong" }
Nel caso in cui tu abbia definito più di un client, puoi testare tutte le connessioni con il seguente comando:
ansible -m ping all
Ora è il momento di eseguire un comando sul sistema remoto e recuperare il risultato. Per questo esempio userò il comando df.
ansible -m shell -a 'df -h' TestClient
Uscita:
node1 | CHANGED | rc=0 >> Filesystem Size Used Avail Use% Mounted on udev 957M 0 957M 0% /dev tmpfs 195M 21M 175M 11% /run /dev/sda1 38G 11G 25G 31% / tmpfs 974M 0 974M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 974M 0 974M 0% /sys/fs/cgroup /dev/sda15 121M 130K 120M 1% /boot/efi tmpfs 195M 0 195M 0% /run/user/0
Il risultato mostra l'utilizzo del disco rigido sul sistema remoto. Puoi eseguire qualsiasi comando della shell Linux come questo utilizzando ansible e anche creare script compley per configurare e mantenere i server.
Rimozione di Ansible
Per rimuovere Ansible dal tuo sistema Debian 10, devi prima disinstallarlo e anche i suoi file di configurazione con il seguente comando:
sudo apt-get purge ansible
Dopo aver eseguito correttamente questo comando, puoi anche eliminare tutti i pacchetti e le dipendenze irrilevanti eseguendo il comando mostrato di seguito:
sudo apt-get autoremove
Conclusione
Questo articolo mostra come installare Ansible su un sistema Debian 10 e come utilizzarlo per gestire i sistemi in remoto tramite una connessione SSH sicura.