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 --versionSom 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 sshdSom 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: ALLSpara sedan filen genom att trycka på
Hitta nu IP-adressen till Ansible-värden 6f7c2 med följande kommando:
$ värdnamn -IHä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 ansibleTestar 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.167192.168.20.168
När du är klar sparar du filen genom att trycka på
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 pingNOTERA: 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.