Ansible

Installera Ansible på Debian för automatisering

Installera Ansible på Debian för automatisering

Nätverks topologi

Här, ansible-pc är en Debian 10-maskin där vi installerar Ansible.

Servrarna 6f7c2 och 6b219 är Debian 10-maskiner som vi konfigurerar för Ansible-automatisering. Jag kommer helt enkelt att kalla dessa servrar Ansible-värdar i den här artikeln.

Vi kan använda Ansible från ansible-pc för att automatisera olika uppgifter i 6f7c2 och 6b219 Debians servrar.

Installera Ansible

I det här avsnittet visar jag dig hur du installerar Ansible på ansible-pc.

Du kan installera Ansible på Debian 10 från Debians officiella paketförvar.

Uppdatera först APT-paketets förvarscache med följande kommando:

$ sudo apt uppdatering

Installera nu Ansible med följande kommando:

$ sudo apt install ansible

För att bekräfta installationen, tryck på Y och tryck sedan på .

Ansible bör installeras.

Kör nu följande kommando för att kontrollera om Ansible fungerar korrekt.

$ ansible --version

Som du kan se är ansible-kommandot tillgängligt och fungerar korrekt. Ansible 2.7.7 är den senaste versionen av Ansible som finns tillgänglig i Debian-paketförvaret när den här artikeln skrevs.

Genererar SSH-nyckel

På Debian 10-maskinen (ansible-pc) där du har installerat Ansible måste du först skapa en SSH-nyckel.

För att generera en SSH-nyckel, kör följande kommando:

$ ssh-keygen

Nu, tryck .

Tryck .

Tryck .

En SSH-nyckel bör genereras.

Konfigurera Debian-värdar för Ansible Automation

I det här avsnittet visar jag hur du konfigurerar en Debian-värd för Ansible-automatisering. Om du har flera värdar som du vill automatisera med Ansible, upprepa sedan samma process för varje värd.

Värdarna som du vill konfigurera för Ansible-automatisering måste ha SSH-serverpaketet förinstallerat.

Uppdatera först APT-paketets förvarscache med följande kommando:

$ sudo apt uppdatering

Installera sedan OpenSSH-servern med följande kommando:

$ sudo apt installerar openssh-server -y

I mitt fall är OpenSSH-serverpaketet redan installerat. Om det inte är installerat i ditt fall bör det installeras före detta steg.

Kontrollera nu om sshd tjänsten körs via följande kommando:

$ sudo systemctl status sshd

Som du kan se sshd tjänsten är aktiva (kör) och aktiverad (startar automatiskt vid systemstart).

Om den sshd tjänsten är inte aktiv (kör), starta den manuellt med följande kommando:

$ sudo systemctl starta sshd

Om den sshd tjänsten är inte aktiverad (läggs inte till i systemstart) i ditt fall, lägg till det i systemstart manuellt med följande kommando:

$ sudo systemctl aktivera sshd

Skapa nu en ansible användaren och tillåta lösenordsfri sudotillgång till ansible användare.

Att skapa en ansible användare, kör följande kommando:

$ sudo adduser --shell / bin / bash --gecos "" ansible

Skriv in ett lösenord för ansible användaren och tryck .

Skriv lösenordet igen och tryck på .

Ett ansible användaren ska skapas.

Nu, för att tillåta lösenordsfri sudotillgång till ansible användare, redigera / etc / sudoers fil med följande kommando:

$ sudo visudo

Lägg nu till följande rad i / etc / sudoers fil.

ansible ALL = (ALL) NOPASSWD: ALL

Spara sedan filen genom att trycka på + X följd av Y, och tryck sedan på .

Hitta nu IP-adressen till Ansible-värden 6f7c2 med följande kommando:

$ värdnamn -I

Här är IP-adressen i mitt fall 192.168.20.167. Det kommer att vara annorlunda för dig. Så se till att ersätta den här adressen med ditt eget formulär nu.

Kopiera SSH Public Key till Ansible Host

Från datorn där du har installerat Ansible (ansible-pc), kopiera den offentliga SSH-nyckeln till Ansible-värden 6f7c2 som följer:

$ ssh-copy-id ansible @ 192.168.20.167

Skriv in ja och tryck .

Skriv sedan in lösenordet för ansible användaren och tryck .

Den offentliga SSH-nyckeln ska kopieras till Ansible-värd 6f7c2.

Du borde kunna SSH till Ansible-värden 6f7c2 som användare ansible utan något lösenord, som du kan se på skärmdumpen nedan:

$ ssh ansible @ 192.168.20.167

Du bör också kunna köra sudo-kommandon utan att bli ombedd att ange något lösenord.

$ sudo ls /

Stäng slutligen SSH-sessionen enligt följande:

$ exit

Säkra Ansible Hosts

Som den ansible användaren kan köra valfritt sudo-kommando utan att bli ombedd att ange ett lösenord, vi har konfigurerat SSH-nyckelbaserad inloggning för Ansible-värdarna. Men du kan fortfarande SSH i Ansible-värdarna som ansible användaren med lösenordet för ansible användare. Så det här är inte särskilt säkert.

För att förbättra säkerheten, kör följande kommando på Ansible-värdarna för att inaktivera lösenordsbaserad inloggning för ansible användare:

$ sudo usermod -L ansible

Om du senare väljer att aktivera lösenordsbaserad inloggning för ansible användare, kör följande kommando på Ansible-värden:

$ sudo usermod -U ansible

Testar Ansible

Skapa en ny projektkatalog ~ / projekt / i Debian-maskinen där du har installerat Ansible (ansible-pc) med följande kod:

$ mkdir ~ / projekt

Navigera till ~ / projekt / katalog med följande kod:

$ cd ~ / projekt /

Skapa en ny värdar filen i projektkatalogen enligt följande:

$ nano värdar

Lista nu IP-adresserna eller DNS-namnen på Ansible-värdarna (6f7c2 och 6b219 i mitt fall) i värdar fil:

192.168.20.167
192.168.20.168

När du är klar sparar du filen genom att trycka på + X följd av Y och sedan slå .

För att testa, försök att pinga alla värdarna med Ansible med följande kod:

$ ansible -i ./ värdar all -u ansible -m ping

NOTERA: Här, den -u alternativet används för att ange användarnamnet (ansible i det här fallet) som Ansible använder för att SSH i värdarna.

Som du kan se har Ansible tillgång till alla värdar. Så värdarna är redo för Ansible-automatisering.

Så det är så du installerar Ansible på Debian 10 och konfigurerar Debian-värdar för Ansible-automatisering. Tack för att du läser den här artikeln.

Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...