Come passare il nome utente e la password Ansible?

Come passare il nome utente e la password Ansible?

Ansible è un moderno strumento di automazione open source che semplifica la configurazione e la gestione dei server remoti. Sebbene altri strumenti di automazione possano corrispondere all'usabilità di Ansible, sono spesso troppo complessi di uno strumento di automazione di base.

Ansible, d'altra parte, è semplice e facile da usare per la maggior parte degli utenti. Utilizza il formato YAML per specificare le configurazioni e le attività del server eseguite su macchine remote. Offre anche un'ottima funzione di sicurezza utilizzando SSH come modalità di autenticazione predefinita.

Tuttavia, in alcuni casi, potresti non aver configurato le chiavi SSH su un host remoto e quindi è necessario specificare esplicitamente il nome utente e la password

In tal caso, questa guida discuterà della creazione di playbook di base e di eseguirli su un host remoto che non ha le chiavi SSH configurate.

Installazione di Ansible

Prima di poter usare Ansible per gestire le tue macchine remote, è necessario installarlo sulla macchina, che funge da nodo di controllo.

Nel mio esempio, mostrerò come installarlo su Rehl/CentOS e Fedora, nel qual caso tutto ciò che devo fare è usare il comando:

$ sudo dnf installa ansible

Questo comando installerà Ansible sulla tua macchina, dandoti tutti gli strumenti per controllare tutte le tue macchine remote da una singola posizione. Il prossimo passo è impostare il file host.

Impostazione dell'inventario degli host Ansible

In Ansible, un inventario è un file contenente informazioni sui tuoi host remoti che saranno sotto la direzione di Ansible. Gli host nel file di inventario possono essere organizzati in gruppi e sottogruppi e specificati con un indirizzo IP della macchina remota o del nome host.

Per aggiungere o rimuovere gli host, modificare il file situato in/etc/ansible/host.

$ sudo vim/etc/ansible/host

NOTA: Il file host predefinito potrebbe non essere incluso per impostazione predefinita in alcune installazioni. Crea semplicemente uno se non esiste nessuno.

All'interno del file host, aggiungi le voci come:

[Myservers]
192.168.0.20
192.168.0.13

Quanto sopra definisce un gruppo chiamato Myservers e i loro indirizzi IP corrispondenti. Assicurati di modificare gli indirizzi IP sopra sugli indirizzi IP degli host.

Connessione di prova

Una volta impostato il tuo file di inventario, è meglio verificare se i tuoi host sono online e possono ricevere comandi da Ansible. Lo facciamo chiamando il modulo ping ansible. Sul nodo locale Ansible, usa il comando mostrato di seguito:

$ ansible all -m ping -u ubuntu - -pass

Questo utilizzerà il nome utente Ubuntu e chiederà la password SSH. Sentiti libero di cambiare il nome utente in qualsiasi utente desiderato sulla macchina remota. Se l'host remoto è attivo e si fornisce la password SSH corretta, è necessario vedere una risposta come:

192.168.0.7 | Success =>
"Ansible_Facts":
"scoperto_interpreter_python": "/usr/bin/python3"
,
"cambiato": falso,
"ping": "pong"

Riepilogo rapido

Come puoi vedere dall'esempio sopra, in Ansible, per specificare il nome utente e la password da utilizzare per i tuoi host remoti, utilizziamo il -u [nome utente] e -ash -pass per la password.

Ad esempio, per utilizzare l'account root come accesso ansible, utilizzare il comando come:

$ ansible all -m ping -u root - -pass -pass

NOTA: È l'ideale per utilizzare il nome utente e la password come modalità di autenticazione in Ansible. Usa i tasti SSH se possibile.

Conclusione

In questo tutorial, abbiamo discusso di come installare e creare host Ansible. Abbiamo anche trattato come specificare il nome utente e la password ansible come modalità di autenticazione. Tutto questo può tornare utile se non hai configurato i tasti SSH sulla macchina remota.