Topologija omrežja
Tukaj, ansible-pc je naprava Debian 10, kamor bomo namestili Ansible.
Strežniki 6f7c2 in 6b219 so stroji Debian 10, ki jih bomo konfigurirali za avtomatizacijo Ansible. Za namen tega članka bom te strežnike preprosto poklical Ansible hosts.
Lahko uporabimo Ansible iz ansible-pc za avtomatizacijo različnih nalog v 6f7c2 in 6b219 Strežniki Debian.
Namestitev Ansible
V tem razdelku vam bom pokazal, kako namestiti Ansible na ansible-pc.
Ansible lahko namestite v Debian 10 iz uradnega repozitorija paketov Debian.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:
$ sudo apt posodobitev
Zdaj namestite Ansible z naslednjim ukazom:
$ sudo apt install ansible
Za potrditev namestitve pritisnite Y in nato pritisnite
Treba je namestiti Ansible.
Zdaj zaženite naslednji ukaz, da preverite, ali Ansible deluje pravilno.
$ ansible --versionKot lahko vidite, je ukaz ansible na voljo in deluje pravilno. Ansible 2.7.7 je najnovejša različica programa Ansible, ki je bila v času pisanja tega članka na voljo v skladišču paketov Debian.
Ustvarjanje ključa SSH
Na računalniku Debian 10 (ansible-pc), kjer ste namestili Ansible, morate najprej generirati SSH ključ.
Če želite ustvariti ključ SSH, zaženite naslednji ukaz:
$ ssh-keygen
Zdaj pritisnite
Pritisnite
Pritisnite
Ustvariti je treba ključ SSH.
Konfiguriranje Debian gostiteljev za odgovorno avtomatizacijo
V tem razdelku vam bom pokazal, kako konfigurirati gostitelja Debian za avtomatizacijo Ansible. Če imate več gostiteljev, ki jih želite avtomatizirati z uporabo Ansible, ponovite isti postopek za vsakega od gostiteljev.
Gostitelji, ki jih želite konfigurirati za avtomatizacijo Ansible, morajo imeti vnaprej nameščen strežniški paket SSH.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:
$ sudo apt posodobitev
Nato namestite strežnik OpenSSH z naslednjim ukazom:
$ sudo apt install openssh-server -y
V mojem primeru je strežniški paket OpenSSH že nameščen. Če v vašem primeru ni nameščen, ga morate namestiti pred tem korakom.
Zdaj pa preverite, ali je sshd storitev se izvaja prek naslednjega ukaza:
$ sudo systemctl status sshdKot lahko vidite, sshd storitev je aktivno (teče) in omogočeno (samodejno se zažene ob zagonu sistema).
Če je sshd storitev je ni aktiven (teče), zaženite ga ročno z naslednjim ukazom:
$ sudo systemctl start sshd
Če je sshd storitev ni omogočeno (ni dodan ob zagonu sistema) v vašem primeru ga dodajte v zagon sistema ročno z naslednjim ukazom:
$ sudo systemctl omogoči sshd
Zdaj ustvarite ansible uporabnika in omogočite dostop do sudo brez gesla ansible uporabnik.
Če želite ustvariti ansible uporabnik, zaženite naslednji ukaz:
$ sudo adduser --shell / bin / bash - "" odgovor
Vnesite geslo za ansible uporabnika in pritisnite
Znova vnesite geslo in pritisnite
An ansible uporabnik bi moral biti ustvarjen.
Zdaj, da omogočite dostop do sudo brez gesla ansible uporabnik, uredite / etc / sudoers datoteko z naslednjim ukazom:
$ sudo visudo
Zdaj v vrstico dodajte naslednjo vrstico / etc / sudoers mapa.
ansible ALL = (ALL) NOPASSWD: ALLNato datoteko shranite s pritiskom na
Zdaj poiščite naslov IP gostitelja Ansible 6f7c2 z naslednjim ukazom:
$ hostname -ITukaj je naslov IP v mojem primeru 192.168.20.167. Za vas bo drugače. Torej, poskrbite, da boste ta naslov zdaj zamenjali s svojim obrazcem.
Kopiranje javnega ključa SSH na gostitelja Ansible
Iz računalnika, v katerem ste namestili Ansible (ansible-pc), kopirajte javni ključ SSH na gostitelja Ansible 6f7c2 kot sledi:
$ ssh-copy-id ansible @ 192.168.20.167
Vtipkaj ja in pritisnite
Nato vnesite geslo za ansible uporabnika in pritisnite
Javni ključ SSH je treba kopirati na gostitelja Ansible 6f7c2.
Morali bi imeti možnost SSH v gostitelja Ansible 6f7c2 kot uporabnik ansible brez gesla, kot lahko vidite na spodnjem posnetku zaslona:
$ ssh ansible @ 192.168.20.167
Prav tako bi morali imeti možnost izvajanja sudo ukazov, ne da bi vas kdo pozval k geslu.
$ sudo ls /
Na koncu zaprite sejo SSH, kot sledi:
$ izhod
Zavarovanje odgovornih gostiteljev
Kot ansible uporabnik lahko zažene kateri koli ukaz sudo, ne da bi bil pozvan k geslu, za gostitelje Ansible smo konfigurirali prijavo na osnovi ključa SSH. Vendar lahko še vedno SSH v gostitelji Ansible kot ansible uporabnik z geslom ansible uporabnik. Torej, to ni zelo varno.
Za izboljšanje varnosti zaženite naslednji ukaz na gostiteljih Ansible, da onemogočite prijavo na osnovi gesla za ansible uporabnik:
$ sudo usermod -L ansible
Če se pozneje odločite omogočiti prijavo na osnovi gesla za ansible uporabnik, zaženite naslednji ukaz na gostitelju Ansible:
$ sudo usermod -U ansibleTestiranje Ansible
Ustvarite nov imenik projekta ~ / projekt / v računalniku Debian, kjer ste namestili Ansible (ansible-pc) z uporabo naslednje kode:
$ mkdir ~ / projekt
Pomaknite se do ~ / projekt / imenik z naslednjo kodo:
$ cd ~ / projekt /
Ustvari novo gostitelji datoteko v imeniku projekta, kot sledi:
$ nano gostitelji
Zdaj navedite naslove IP ali imena DNS gostiteljev Ansible (6f7c2 in 6b219 v mojem primeru) v gostitelji mapa:
192.168.20.167192.168.20.168
Ko končate, datoteko shranite s pritiskom na
Če želite preizkusiti, poskusite pingati vse gostitelje z uporabo programa Ansible z naslednjo kodo:
$ ansible -i ./ gosti vse -u ansible -m pingOPOMBA: Tukaj -u možnost se uporablja za določitev uporabniškega imena (ansible v tem primeru), ki ga bo Ansible uporabil za SSH v gostitelje.
Kot lahko vidite, lahko Ansible dostopa do vseh gostiteljev. Torej, gostitelji so pripravljeni na avtomatizacijo Ansible.
Torej, tako namestite Ansible na Debian 10 in konfigurirate gostitelje Debian za avtomatizacijo Ansible. Hvala, ker ste prebrali ta članek.