Nettverkstopologi
Her, ansible-pc er en Debian 10-maskin der vi skal installere Ansible.
Serverne 6f7c2 og 6b219 er Debian 10-maskiner som vi vil konfigurere for Ansible-automatisering. Jeg vil ganske enkelt kalle disse serverne Ansible-verter for formålet med denne artikkelen.
Vi kan bruke Ansible fra ansible-pc å automatisere forskjellige oppgaver i 6f7c2 og 6b219 Debian-servere.
Installere Ansible
I denne delen vil jeg vise deg hvordan du installerer Ansible på ansible-pc.
Du kan installere Ansible på Debian 10 fra det offisielle pakkelageret til Debian.
Oppdater først APT-pakkelagerbufferen med følgende kommando:
$ sudo apt oppdatering
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 riktig.
$ ansible - versjonSom du kan se, er ansible-kommandoen tilgjengelig og fungerer som den skal. Ansible 2.7.7 er den siste versjonen av Ansible som er tilgjengelig i Debian-pakkelageret da denne artikkelen ble skrevet.
Genererer SSH-nøkkel
På Debian 10-maskinen (ansible-pc) der du har installert Ansible, må du først generere en SSH-nøkkel.
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 Debian Hosts for Ansible Automation
I denne delen vil jeg vise deg hvordan du konfigurerer en Debian-vert for Ansible-automatisering. Hvis du har flere verter som du vil automatisere ved hjelp av Ansible, gjenta samme prosess for hver av vertene.
Vertene du vil konfigurere for Ansible-automatisering, må ha SSH-serverpakken forhåndsinstallert.
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 før dette trinnet.
Sjekk nå om sshd tjenesten kjører via 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), start den manuelt med følgende kommando:
$ sudo systemctl start sshd
Hvis 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 sshd
Lag nå en ansible bruker og tillat passordfri sudotilgang til ansible bruker.
Å lage en ansible bruker, kjør følgende kommando:
$ sudo adduser - shell / bin / bash --gecos "" ansible
Skriv inn et passord for ansible brukeren og trykk
Skriv passordet på nytt, og trykk på
An ansible bruker skal opprettes.
Nå, for å gi passordfri sudotilgang til ansible bruker, rediger / etc / sudoers fil med følgende kommando:
$ sudo visudo
Nå legger du til følgende linje i / etc / sudoers fil.
ansible ALL = (ALL) NOPASSWD: ALLLagre deretter filen ved å trykke på
Finn nå IP-adressen til Ansible-verten 6f7c2 med følgende kommando:
$ vertsnavn -IHer er IP-adressen i mitt tilfelle 192.168.20.167. Det vil være annerledes for deg. Så sørg for å erstatte denne adressen med ditt eget skjema nå.
Kopiering av SSH Public Key til Ansible Host
Fra datamaskinen der du har installert Ansible (ansible-pc), kopier den offentlige SSH-nøkkelen til Ansible-verten 6f7c2 som følger:
$ ssh-copy-id ansible @ 192.168.20.167
Skriv inn ja og trykk
Skriv deretter inn passordet for ansible brukeren og trykk
Den offentlige SSH-nøkkelen skal kopieres til Ansible vert 6f7c2.
Du bør kunne SSH inn i Ansible-verten 6f7c2 som bruker ansible uten noe passord, som du kan se fra skjermbildet nedenfor:
$ ssh ansible @ 192.168.20.167
Du bør også kunne kjøre sudo-kommandoer uten å bli bedt om noe passord.
$ sudo ls /
Til slutt lukker du SSH-økten som følger:
$ exit
Sikre synlige verter
Som den ansible brukeren kan kjøre hvilken som helst sudo-kommando uten å bli bedt om et passord, vi har konfigurert SSH-nøkkelbasert pålogging for Ansible-vertene. Men du kan fortsatt SSH inn i Ansible-vertene som ansible bruker bruker passordet til ansible bruker. Så dette er ikke veldig sikkert.
For å forbedre sikkerheten, kjør følgende kommando på Ansible-vertene for å deaktivere passordbasert pålogging for ansible bruker:
$ sudo usermod -L ansible
Hvis du senere bestemmer deg for å aktivere passordbasert pålogging for ansible bruker, kjør følgende kommando på Ansible-verten:
$ sudo usermod -U ansibleTesting Ansible
Opprett en ny prosjektkatalog ~ / prosjekt / i Debian-maskinen der du har installert Ansible (ansible-pc) ved hjelp av følgende kode:
$ mkdir ~ / prosjekt
Naviger til ~ / prosjekt / katalog med følgende kode:
$ cd ~ / prosjekt /
Lage en ny verter filen i prosjektkatalogen som følger:
$ nano verter
Liste nå IP-adressene eller DNS-navnene til Ansible-vertene (6f7c2 og 6b219 i mitt tilfelle) i verter fil:
192.168.20.167192.168.20.168
Når du er ferdig, lagrer du filen ved å trykke på
For å teste, prøv å pinge alle vertene ved hjelp av Ansible med følgende kode:
$ ansible -i ./ verter alt -u ansible -m pingMERK: Her, den -u alternativet brukes til å spesifisere brukernavnet (ansible i dette tilfellet) som Ansible vil bruke til SSH i vertene.
Som du kan se, har Ansible tilgang til alle vertene. Så vertene er klare for Ansible automatisering.
Så det er slik du installerer Ansible på Debian 10 og konfigurerer Debian-verter for Ansible-automatisering. Takk for at du leser denne artikkelen.