Nettverkstopologi:
Her, den linuxhint-711ea er en Ubuntu 20.04 LTS -maskin der jeg skal installere Ansible.
Deretter vil jeg konfigurere vertene host1 (IP -adresse 192.168.20.162) og vert2 (IP -adresse 192.168.20.153) for Ansible automatisering og kjør kommandoer på dem ved å bruke Ansible fra linuxhint-711ea maskin.
Jeg vil bare ringe host1 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 -pakkens depotbuffer med følgende kommando:
$sudopassende oppdatering
APT -pakkebufferen bør oppdateres.
Installer Ansible nå med følgende kommando:
$sudopassendeinstallereansvarsfullTrykk på for å bekrefte installasjonen OG og trykk deretter .
Ansible bør installeres.
Kjør nå følgende kommando for å sjekke om ansible fungerer som det skal.
$ansvarsfull--versjonSom du kan se, er ansible -kommandoen tilgjengelig og fungerer som den skal.
Generere 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-keygenTrykk nå .
trykk .
trykk .
En SSH -nøkkel bør genereres.
Konfigurere Ubuntu -verter for Ansible Automation:
I denne delen vil jeg vise deg hvordan du konfigurerer en Ubuntu -vert ( host1 ) for Ansible automation. Hvis du har mer enn én vert du vil automatisere ved hjelp av Ansible, må du gjenta den samme prosessen på hver av vertene.
Ubuntu Ansible -vertene (som du vil konfigurere for Ansible -automatisering) må ha SSH -serverpakke installert.
Oppdater først APT -pakkens depotbuffer med følgende kommando:
$sudopassende oppdateringInstaller deretter OpenSSH -serveren med følgende kommando:
$sudopassendeinstallereopenssh-server-ogI mitt tilfelle er OpenSSH -serverpakken allerede installert. Hvis den ikke er installert i ditt tilfelle, bør den installeres.
Sjekk nå om sshd tjenesten kjører med følgende kommando:
$sudosystemctl status sshdSom du kan se, sshd tjenesten er aktiv (løping) og aktivert (starter automatisk ved systemstart).
Hvis sshd tjenesten er ikke aktiv (kjører) i ditt tilfelle, start det manuelt med følgende kommando:
$sudosystemctl start sshdHvis sshd tjenesten er ikke aktivert (ikke lagt til i systemoppstarten), i ditt tilfelle kan du legge det til systemoppstarten manuelt med følgende kommando:
$sudosystemctlmuliggjøresshdKonfigurer nå brannmuren for å tillate SSH -tilgang med følgende kommando:
$sudoufw tillatesshDu bør også lage en ansvarsfull bruker og tillat passordløs sudo-tilgang til ansvarsfull bruker.
Å lage en ansvarsfull bruker, kjør følgende kommando:
$sudoadduser ansibleSkriv inn et passord for ansvarsfull bruker og trykk .
Skriv inn passordet på nytt og trykk på .
Trykk nå .
Trykk nå .
Trykk nå .
Trykk nå .
Trykk nå .
Skriv inn nå og og trykk deretter .
An ansvarsfull brukeren skal opprettes.
Konfigurer nå sudo-tilgang uten passord til ansvarsfull bruker med følgende kommando:
$kastet ut 'ansible ALL = (ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/ansvarsfullFinn nå IP -adressen til Ansible -verten ( host1 ) med følgende kommando:
$vertsnavn -JEGHer er IP -adressen i mitt tilfelle 192.168.20.162 . Det blir annerledes for deg. Så sørg for å erstatte det med skjemaet ditt nå.
Nå, fra datamaskinen der du har installert Ansible, kopierer du SSHs offentlige nøkkel til Ansible -verten ( host1 ) følgende:
$ssh-copy-id ansible@192.168.20.162Skriv inn ja og trykk på .
Skriv inn passordet for ansvarsfull bruker og trykk .
Den offentlige SSH -nøkkelen skal kopieres til host1 .
Deaktiver nå passordbasert pålogging for ansvarsfull bruker med følgende kommando:
$sudobrukerform-DEansvarsfullNå kan du bare SSH inn i Ansible -verten ( host1 ) som ansvarsfull bruker uten passord fra datamaskinen du har kopiert den offentlige SSH -nøkkelen fra (i dette tilfellet datamaskinen der du har installert Ansible). Men du vil ikke kunne SSH inn i Ansible -verten ( host1 ) som ansvarsfull bruker fra en hvilken som helst annen datamaskin. Jeg har konfigurert Ansible -vertene på denne måten av sikkerhetshensyn. Som ansvarsfull bruker trenger ikke noe passord for å kjøre administrative kommandoer, er det risikabelt å tillate passordbasert pålogging for ansvarsfull bruker.
Nå bør du kunne SSH inn i den ansible verten host1 fra datamaskinen der du har installert Ansible som følger:
$sshansvarsfull@192.168.20.162Som du kan se, har jeg tilgang til Ansible -verten ( host1 ) som ansvarsfull bruker uten passord. Så Ansible -verten ( host1 ) er klar for Ansible automatisering.
Hvis du av en eller annen grunn vil tillate passordbasert pålogging for ansvarsfull bruker igjen, kjør følgende kommando i Ansible -verten ( host1 ):
$sudobrukerform-UansvarsfullDu kan konfigurere så mange verter du vil for Ansible -automatisering på samme måte.
I denne artikkelen har jeg bare konfigurert to verter, host1 og vert2 for demonstrasjonen.
Testing Ansible:
Lag nå en ny prosjektkatalog ~/ansible-demo/ på datamaskinen der du har installert Ansible som følger:
$mkdir~/ansible-demoNaviger nå til ~/ansible-demo/ katalogen som følger:
$CD~/ansible-demo/Lag nå en ny verter filen i prosjektkatalogen som følger:
$nanoverterSkriv inn IP -adressene eller DNS -navnene til Ansible -vertene ( host1 og vert2 i mitt tilfelle) i verter filen som følger:
192.168.20.162192.168.20.153
Lagre filen ved å trykke på + X etterfulgt av OG og så .
Prøv nå å pinge alle vertene ved å bruke Ansible som følger:
$ansvarlig alt-Jeg./verter-uansvarsfull-m pingMERK: Her brukes -u -alternativet for å spesifisere brukernavnet (ansible i dette tilfellet) som Ansible vil bruke til å SSH inn i vertene.
Som du kan se, kan alle vertene pinge. Så vertene er klare for Ansible automatisering.
På samme måte kan du kjøre en hvilken som helst kommando i vertene ved å bruke Ansible som følger:
$ansvarlig alt-Jeg./verter-uansvarsfull-mskall-til 'echo' $ (vertsnavn) - $ (vertsnavn -I) ''Som du kan se, kjørte kommandoen vellykket i hver av vertene, og utgangen vises.
Så dette er hvordan du installerer Ansible på Ubuntu 20.04 LTS og konfigurerer Ubuntu 20.04 LTS -verter for Ansible automatisering. Takk for at du leste denne artikkelen.