Netværkstopologi
Her, ansible-pc er en Debian 10-maskine, hvor vi installerer Ansible.
Serverne 6f7c2 og 6b219 er Debian 10-maskiner, som vi konfigurerer til Ansible-automatisering. Jeg vil blot kalde disse servere Ansible-værter med henblik på denne artikel.
Vi kan bruge Ansible fra ansible-pc at automatisere forskellige opgaver i 6f7c2 og 6b219 Debian-servere.
Installation af Ansible
I dette afsnit vil jeg vise dig, hvordan du installerer Ansible på ansible-pc.
Du kan installere Ansible på Debian 10 fra det officielle pakkeopbevaringssted for Debian.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
Installer nu Ansible med følgende kommando:
$ sudo apt install ansible
Tryk på for at bekræfte installationen Y og tryk derefter på
Ansible skal installeres.
Kør nu følgende kommando for at kontrollere, om Ansible fungerer korrekt.
$ ansible - versionSom du kan se, er den ansible kommando tilgængelig og fungerer korrekt. Synlig 2.7.7 er den seneste version af Ansible, der er tilgængelig i Debian-pakkelageret, da denne artikel blev skrevet.
Genererer SSH-nøgle
På Debian 10-maskinen (ansible-pc) hvor du har installeret Ansible, skal du først generere en SSH-nøgle.
For at generere en SSH-nøgle skal du køre følgende kommando:
$ ssh-keygen
Nu skal du trykke på
Trykke
Trykke
Der skal genereres en SSH-nøgle.
Konfiguration af Debian-værter til brugbar automatisering
I dette afsnit vil jeg vise dig, hvordan du konfigurerer en Debian-vært til Ansible-automatisering. Hvis du har flere værter, som du vil automatisere ved hjælp af Ansible, skal du gentage den samme proces for hver af værterne.
De værter, du vil konfigurere til Ansible-automatisering, skal have SSH-serverpakken forudinstalleret.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
Installer derefter OpenSSH-serveren med følgende kommando:
$ sudo apt installerer openssh-server -y
I mit tilfælde er OpenSSH-serverpakken allerede installeret. Hvis det ikke er installeret i dit tilfælde, skal det installeres inden dette trin.
Kontroller nu, om sshd tjenesten kører via følgende kommando:
$ sudo systemctl status sshdSom du kan se, er sshd tjenesten er aktiv (kører) og aktiveret (starter automatisk ved systemstart).
Hvis den sshd tjenesten er ikke aktiv (kører), start det manuelt med følgende kommando:
$ sudo systemctl start sshd
Hvis den sshd tjeneste er ikke aktiveret (ikke føjet til systemstart) i dit tilfælde skal du tilføje det til systemstart manuelt med følgende kommando:
$ sudo systemctl aktiver sshd
Opret nu en ansible bruger og tillade adgangskodeløs sudo-adgang til ansible bruger.
At oprette en ansible bruger, kør følgende kommando:
$ sudo adduser - shell / bin / bash --gecos "" ansible
Indtast en adgangskode til ansible bruger og tryk på
Indtast adgangskoden igen, og tryk på
En ansible bruger skal oprettes.
Nu, for at tillade adgangskodeløs sudo-adgang til ansible bruger, rediger / etc / sudoers fil med følgende kommando:
$ sudo visudo
Tilføj nu følgende linje til / etc / sudoers fil.
ansible ALL = (ALL) NOPASSWD: ALLGem derefter filen ved at trykke på
Find nu IP-adressen til Ansible-værten 6f7c2 med følgende kommando:
$ værtsnavn -IHer er IP-adressen i mit tilfælde 192.168.20.167. Det vil være anderledes for dig. Så sørg for at erstatte denne adresse med din egen formular nu.
Kopiering af SSH Public Key til den Ansible Host
Fra den computer, hvor du har installeret Ansible (ansible-pc), kopier den offentlige SSH-nøgle til Ansible-værten 6f7c2 som følger:
$ ssh-copy-id ansible @ 192.168.20.167
Indtaste Ja og tryk på
Indtast derefter adgangskoden til ansible bruger og tryk på
Den offentlige SSH-nøgle skal kopieres til Ansible vært 6f7c2.
Du skal kunne SSH ind i Ansible-værten 6f7c2 som bruger ansible uden adgangskode, som du kan se fra nedenstående skærmbillede:
$ ssh ansible @ 192.168.20.167
Du skal også kunne køre sudo-kommandoer uden at blive bedt om adgangskode.
$ sudo ls /
Endelig luk SSH-sessionen som følger:
$ exit
Sikring af synlige værter
Som den ansible brugeren kan køre en hvilken som helst sudo-kommando uden at blive bedt om en adgangskode, vi har konfigureret det SSH-nøglebaserede login til Ansible-værterne. Men du kan stadig SSH i Ansible-værter som ansible bruger bruger adgangskoden til ansible bruger. Så dette er ikke særlig sikkert.
For at forbedre sikkerheden skal du køre følgende kommando på Ansible-værterne for at deaktivere adgangskodebaseret login for ansible bruger:
$ sudo usermod -L ansible
Hvis du senere beslutter at aktivere adgangskodebaseret login til ansible bruger, kør følgende kommando på Ansible-værten:
$ sudo usermod -U ansibleTest af synlig
Opret en ny projektmappe ~ / projekt / i Debian-maskinen, hvor du har installeret Ansible (ansible-pc) ved hjælp af følgende kode:
$ mkdir ~ / projekt
Naviger til ~ / projekt / bibliotek ved hjælp af følgende kode:
$ cd ~ / projekt /
Opret en ny værter fil i projektmappen som følger:
$ nano værter
Skriv nu IP-adresserne eller DNS-navnene på Ansible-værterne (6f7c2 og 6b219 i mit tilfælde) i værter fil:
192.168.20.167192.168.20.168
Når du er færdig, skal du gemme filen ved at trykke på
For at teste, prøv at pinge alle værter ved hjælp af Ansible med følgende kode:
$ ansible -i ./ er vært for alle -u ansible -m pingBEMÆRK: Her, den -u bruges til at angive brugernavnet (ansible i dette tilfælde) som Ansible vil bruge til SSH i værterne.
Som du kan se, har Ansible adgang til alle værterne. Så værterne er klar til Ansible-automatisering.
Så det er sådan, du installerer Ansible på Debian 10 og konfigurerer Debian-værter til Ansible-automatisering. Tak fordi du læste denne artikel.