Nätverks topologi:
Här, den linuxhint-711ea är en Ubuntu 20.04 LTS-maskin där jag installerar Ansible.
Sedan konfigurerar jag värdarna värd1 (IP-adress 192.168.20.162) och värd2 (IP-adress 192.168.20.153) för Ansible-automatisering och kör kommandon på dem med Ansible från linuxhint-711ea maskin.
Jag ringer helt enkelt värd1 och värd2 som Ansible värdar i den här artikeln.
Installera Ansible:
Du kan enkelt installera Ansible på Ubuntu 20.04 LTS från Ubuntu: s officiella paketförvar.
Uppdatera först APT-paketets förvarscache med följande kommando:
$ sudo apt uppdatering
APT-paketets förvarscache bör uppdateras.
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.
Genererar SSH-nyckel:
Nu måste du skapa en SSH-nyckel på datorn där du har installerat Ansible.
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 Ubuntu-värdar för Ansible Automation:
I det här avsnittet visar jag dig hur du konfigurerar en Ubuntu-värd (värd1) för Ansible automation. Om du har mer än en värd som du vill automatisera med Ansible, upprepa samma process på var och en av värdarna.
Ubuntu Ansible-värdarna (som du vill konfigurera för Ansible-automatisering) måste ha SSH-serverpaket installerat.
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 den inte är installerad i ditt fall bör den installeras.
Kontrollera nu om sshd tjänsten körs med 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 aktiva (kör) i ditt fall, starta det manuellt med följande kommando:
$ sudo systemctl starta sshdOm 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 sshdKonfigurera nu brandväggen för att tillåta SSH-åtkomst med följande kommando:
$ sudo ufw tillåt ssh
Du bör också skapa 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 ansible
Skriv nu in ett lösenord för ansible användaren och tryck
Skriv nu lösenordet igen och tryck på
Nu, tryck
Nu, tryck
Nu, tryck
Nu, tryck
Nu, tryck
Skriv nu in y och tryck sedan på
Ett ansible användaren ska skapas.
Konfigurera nu lösenordsfri sudotillgång till ansible användare med följande kommando:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Hitta nu IP-adressen till Ansible-värden (värd1) med följande kommando:
$ värdnamn -IHär är IP-adressen i mitt fall 192.168.20.162. Det kommer att vara annorlunda för dig. Så se till att ersätta den med din blankett nu.
Nu, från datorn där du har installerat Ansible, kopierar du den offentliga SSH-nyckeln till Ansible-värden (värd1) som följer:
$ ssh-copy-id ansible @ 192.168.20.162
Skriv in ja och tryck
Skriv nu in lösenordet för ansible användaren och tryck
Den offentliga SSH-nyckeln ska kopieras till värd1.
Inaktivera nu lösenordsbaserad inloggning för ansible användare med följande kommando:
$ sudo usermod -L ansible
Nu kan du bara SSH till Ansible-värden (värd1) som ansible användare utan något lösenord från den dator som du har kopierat den offentliga SSH-nyckeln från (i det här fallet datorn där du har installerat Ansible). Men du kommer inte att kunna SSH till Ansible-värden (värd1) som ansible användare från någon annan dator. Jag har konfigurerat Ansible-värdarna på detta sätt av säkerhetsskäl. Som den ansible användaren behöver inget lösenord för att köra administrativa kommandon, det är riskabelt att tillåta lösenordsbaserad inloggning för ansible användare.
Nu borde du kunna SSH till ansible-värden värd1 från datorn där du har installerat Ansible enligt följande:
$ ssh ansible @ 192.168.20.162
Som du kan se har jag tillgång till Ansible-värden (värd1) som ansible-användare utan något lösenord. Ansible-värden (värd1) är redo för Ansible-automatisering.
Om du av någon anledning vill tillåta lösenordsbaserad inloggning för ansible användaren igen, kör följande kommando i Ansible-värden (värd1):
$ sudo usermod -U ansible
Du kan konfigurera så många värdar du vill för Ansible-automatisering på samma sätt.
I den här artikeln har jag bara konfigurerat två värdar, värd1 och värd2 för demonstrationen.
Testning Ansible:
Skapa nu en ny projektkatalog ~ / ansible-demo / på datorn där du har installerat Ansible enligt följande:
$ mkdir ~ / ansible-demo
Navigera nu till ~ / ansible-demo / katalog enligt följande:
$ cd ~ / ansible-demo /
Skapa nu en ny värdar filen i projektkatalogen enligt följande:
$ nano värdar
Skriv nu IP-adresserna eller DNS-namnen på Ansible-värdarna (värd1 och värd2 i mitt fall) i värdar filen enligt följande:
192.168.20.162192.168.20.153
Spara nu filen genom att trycka på
Försök nu att pinga alla värdarna med Ansible enligt följande:
$ ansible all -i ./ hosts -u ansible -m pingNOTERA: Här används -u-alternativet för att ange användarnamnet (ansible i det här fallet) som Ansible ska använda för SSH i värdarna.
Som du kan se kan alla värdar pingas. Så värdarna är redo för Ansible-automatisering.
På samma sätt kan du köra valfritt kommando i värdarna med Ansible enligt följande:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Som du kan se körde kommandot framgångsrikt i var och en av värdarna och utdata visas.
Så det här är hur du installerar Ansible på Ubuntu 20.04 LTS och konfigurera Ubuntu 20.04 LTS-värdar för Ansible-automatisering. Tack för att du läste den här artikeln.