Nettverkstopologi:
Her, den linuxhint-711ea er en Ubuntu 20.04 LTS-maskin hvor jeg skal installere Ansible.
Deretter vil jeg konfigurere vertene vert1 (IP-adresse 192.168.20.162) og vert2 (IP-adresse 192.168.20.153) for Ansible automatisering og kjør kommandoer på dem ved hjelp av Ansible fra linuxhint-711ea maskin.
Jeg vil bare ringe vert1 og vert2 som Ansible verter i denne artikkelen.
Installere Ansible:
Du kan enkelt installere Ansible på Ubuntu 20.04 LTS fra det offisielle pakkelageret til Ubuntu.
Oppdater først APT-pakkelagerbufferen med følgende kommando:
$ sudo apt oppdatering
APT-pakkelagerbufferen bør oppdateres.
Installer nå Ansible med følgende kommando:
$ sudo apt installere ansible
Trykk på for å bekrefte installasjonen Y og trykk deretter på
Ansible skal installeres.
Kjør nå følgende kommando for å sjekke om ansible fungerer som den skal.
$ ansible - versjonSom du kan se, er ansible kommando tilgjengelig og fungerer riktig.
Genererer SSH-nøkkel:
Nå må du generere en SSH-nøkkel på datamaskinen der du har installert Ansible.
For å generere en SSH-nøkkel, kjør følgende kommando:
$ ssh-keygen
Trykk nå
trykk
trykk
En SSH-nøkkel bør genereres.
Konfigurere Ubuntu Hosts for Ansible Automation:
I denne delen vil jeg vise deg hvordan du konfigurerer en Ubuntu-vert (vert1) for Ansible automatisering. Hvis du har mer enn én vert som du vil automatisere ved hjelp av Ansible, gjenta samme prosess på hver av vertene.
Ubuntu Ansible-vertene (som du vil konfigurere for Ansible-automatisering) må ha SSH-serverpakke installert.
Oppdater først APT-pakkelagerbufferen med følgende kommando:
$ sudo apt oppdatering
Installer deretter OpenSSH-serveren med følgende kommando:
$ sudo apt installerer openssh-server -y
I mitt tilfelle er OpenSSH-serverpakken allerede installert. Hvis det ikke er installert i ditt tilfelle, bør det installeres.
Sjekk nå om sshd tjenesten kjører med følgende kommando:
$ sudo systemctl status sshdSom du kan se, er sshd tjenesten er aktiv (løping) og aktivert (starter automatisk ved systemstart).
Hvis den sshd tjenesten er ikke aktiv (kjører) i ditt tilfelle, start det manuelt med følgende kommando:
$ sudo systemctl start sshdHvis den sshd tjenesten er ikke aktivert (ikke lagt til systemoppstart), i ditt tilfelle, legg det til systemoppstart manuelt med følgende kommando:
$ sudo systemctl aktiver sshdKonfigurer nå brannmuren for å tillate SSH-tilgang med følgende kommando:
$ sudo ufw tillate ssh
Du bør også opprette en ansible bruker og tillat passordfri sudotilgang til ansible bruker.
Å lage en ansible bruker, kjør følgende kommando:
$ sudo adduser ansible
Skriv nå inn et passord for ansible brukeren og trykk
Skriv inn passordet på nytt, og trykk på
Trykk nå
Trykk nå
Trykk nå
Trykk nå
Trykk nå
Nå skriver du inn y og trykk deretter på
An ansible bruker skal opprettes.
Konfigurer nå passordfri sudotilgang til ansible bruker med følgende kommando:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Finn nå IP-adressen til Ansible-verten (vert1) med følgende kommando:
$ vertsnavn -IHer er IP-adressen i mitt tilfelle 192.168.20.162. Det vil være annerledes for deg. Så sørg for å erstatte det med skjemaet ditt nå.
Nå, fra datamaskinen der du har installert Ansible, kopierer du den offentlige SSH-nøkkelen til Ansible-verten (vert1) som følger:
$ ssh-copy-id ansible @ 192.168.20.162
Skriv inn ja og trykk
Skriv inn passordet for ansible brukeren og trykk
Den offentlige SSH-nøkkelen skal kopieres til vert1.
Deaktiver nå passordbasert pålogging for ansible bruker med følgende kommando:
$ sudo usermod -L ansible
Nå kan du bare SSH inn i Ansible-verten (vert1) som ansible bruker uten noe passord fra datamaskinen du har kopiert den offentlige SSH-nøkkelen fra (i dette tilfellet datamaskinen du har installert Ansible). Men du kan ikke SSH inn i Ansible-verten (vert1) som ansible bruker fra hvilken som helst annen datamaskin. Jeg har konfigurert Ansible-vertene på denne måten av sikkerhetsgrunner. Som den ansible brukeren ikke trenger noe passord for å kjøre administrative kommandoer, det er risikabelt å tillate passordbasert pålogging for ansible bruker.
Nå skal du kunne SSH inn i den ansible verten vert1 fra datamaskinen der du har installert Ansible på følgende måte:
$ ssh ansible @ 192.168.20.162
Som du kan se, har jeg tilgang til Ansible-verten (vert1) som anselig bruker uten passord. Ansible-verten (vert1) er klar for Ansible automatisering.
Hvis du av en eller annen grunn vil tillate passordbasert pålogging for ansible bruker igjen, kjør følgende kommando i Ansible-verten (vert1):
$ sudo usermod -U ansible
Du kan konfigurere så mange verter du vil for Ansible automatisering på samme måte.
I denne artikkelen har jeg konfigurert bare to verter, vert1 og vert2 til demonstrasjonen.
Testing Ansible:
Lag nå en ny prosjektkatalog ~ / ansible-demo / på datamaskinen der du har installert Ansible som følger:
$ mkdir ~ / ansible-demo
Nå, naviger til ~ / ansible-demo / katalog som følger:
$ cd ~ / ansible-demo /
Lag nå et nytt verter filen i prosjektkatalogen som følger:
$ nano verter
Skriv inn IP-adressene eller DNS-navnene til Ansible-vertene (vert1 og vert2 i mitt tilfelle) i verter filen som følger:
192.168.20.162192.168.20.153
Lagre filen nå ved å trykke på
Prøv nå å pinge alle vertene ved hjelp av Ansible på følgende måte:
$ ansible all -i ./ hosts -u ansible -m pingMERK: Her brukes alternativet -u til å spesifisere brukernavnet (ansible i dette tilfellet) som Ansible vil bruke til SSH i vertene.
Som du kan se, kan alle vertene pinges. Så vertene er klare for Ansible automatisering.
På samme måte kan du kjøre hvilken som helst kommando i vertene ved hjelp av Ansible på følgende måte:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Som du kan se, kjørte kommandoen vellykket i hver av vertene, og utdataene vises.
Så dette er hvordan du installerer Ansible på Ubuntu 20.04 LTS og konfigurer Ubuntu 20.04 LTS-verter for Ansible automatisering. Takk for at du leser denne artikkelen.