Topologija mreže
Ovdje, ansible-pc je Debian 10 stroj na koji ćemo instalirati Ansible.
Poslužitelji 6f7c2 i 6b219 su Debian 10 strojevi koje ćemo konfigurirati za Ansible automatizaciju. Jednostavno ću ove poslužitelje nazvati Ansible domaćini u svrhu ovog članka.
Možemo koristiti Ansible iz ansible-pc za automatizaciju različitih zadataka u 6f7c2 i 6b219 Debian poslužitelji.
Instaliranje Ansible
U ovom odjeljku pokazat ću vam kako instalirati Ansible na ansible-pc.
Možete instalirati Ansible na Debian 10 iz službenog spremišta paketa Debiana.
Prvo ažurirajte predmemoriju spremišta APT paketa sljedećom naredbom:
$ sudo apt ažuriranje
Sada instalirajte Ansible pomoću sljedeće naredbe:
$ sudo apt install ansible
Da biste potvrdili instalaciju, pritisnite Y a zatim pritisnite
Treba instalirati Ansible.
Sada pokrenite sljedeću naredbu da provjerite radi li Ansible ispravno.
$ ansible --verzijaKao što vidite, naredba ansible je dostupna i radi ispravno. Ansible 2.7.7 je najnovija verzija Ansible dostupna u spremištu paketa Debian u vrijeme kada je ovaj članak napisan.
Generiranje SSH ključa
Na Debian 10 stroju (ansible-pc) tamo gdje ste instalirali Ansible, prvo morate generirati SSH ključ.
Da biste generirali SSH ključ, pokrenite sljedeću naredbu:
$ ssh-keygen
Sada pritisnite
Pritisnite
Pritisnite
Treba generirati SSH ključ.
Konfiguriranje Debian hostova za odgovornu automatizaciju
U ovom odjeljku pokazat ću vam kako konfigurirati Debian domaćin za Ansible automatizaciju. Ako imate više hostova koje želite automatizirati pomoću Ansible, ponovite isti postupak za svakog od hostova.
Domaćini koje želite konfigurirati za Ansible automatizaciju moraju imati unaprijed instaliran paket SSH poslužitelja.
Prvo ažurirajte predmemoriju spremišta APT paketa sljedećom naredbom:
$ sudo apt ažuriranje
Zatim instalirajte OpenSSH poslužitelj sa sljedećom naredbom:
$ sudo apt install openssh-server -y
U mom je slučaju paket OpenSSH poslužitelja već instaliran. Ako nije instaliran u vašem slučaju, trebao bi biti instaliran prije ovog koraka.
Sada provjerite je li sshd usluga se izvodi putem sljedeće naredbe:
$ sudo systemctl status sshdKao što vidite, sshd usluga je aktivan (trčanje) i omogućeno (automatski će se pokrenuti prilikom pokretanja sustava).
Ako je sshd usluga je nije aktivan (pokrenut), pokrenite ga ručno sljedećom naredbom:
$ sudo systemctl start sshd
Ako je sshd usluga nije omogućeno (nije dodano pri pokretanju sustava), u vašem slučaju dodajte ga ručno pri pokretanju sustava sljedećom naredbom:
$ sudo systemctl omogući sshd
Sada stvorite ansible korisnika i dopustite sudo pristup sučelju bez lozinke ansible korisnik.
Da biste stvorili ansible korisnik, pokrenite sljedeću naredbu:
$ sudo adduser --shell / bin / bash --gecos "" ansible
Upišite lozinku za ansible korisnik i pritisnite
Ponovo unesite lozinku i pritisnite
An ansible treba stvoriti korisnika.
Sada, da omogućimo sudo pristup sučelju ansible korisnik, uredite / etc / sudoers datoteka sa sljedećom naredbom:
$ sudo visudo
Sada dodajte sljedeći redak u / etc / sudoers datoteka.
ansible ALL = (ALL) NOPASSWD: ALLZatim spremite datoteku pritiskom na
Sada pronađite IP adresu hosta Ansible 6f7c2 sa sljedećom naredbom:
$ hostname -IOvdje je IP adresa u mom slučaju 192.168.20.167. Za vas će biti drugačije. Dakle, pobrinite se da ovu adresu zamijenite svojim vlastitim obrascem.
Kopiranje javnog ključa SSH na Ansible Host
S računala na koje ste instalirali Ansible (ansible-pc), kopirajte javni ključ SSH na domaćin Ansible 6f7c2 kako slijedi:
$ ssh-copy-id ansible @ 192.168.20.167
Upišite Da i pritisnite
Zatim unesite lozinku za ansible korisnik i pritisnite
Javni SSH ključ treba kopirati na Ansible host 6f7c2.
Trebali biste moći SSH u host Ansible 6f7c2 kao korisnik ansible bez ikakve lozinke, kao što možete vidjeti sa snimke zaslona u nastavku:
$ ssh ansible @ 192.168.20.167
Također biste trebali moći pokretati sudo naredbe bez potrebe za lozinkom.
$ sudo ls /
Napokon, zatvorite SSH sesiju na sljedeći način:
$ izlaz
Osiguravanje odgovornih domaćina
Kao ansible korisnik može pokrenuti bilo koju sudo naredbu bez da se od njega zatraži lozinka, konfigurirali smo prijavu zasnovanu na SSH ključu za hostele Ansible. Ali, još uvijek možete SSH unijeti u Ansible hostove kao ansible korisnik koji koristi lozinku ansible korisnik. Dakle, ovo nije baš sigurno.
Da biste poboljšali sigurnost, pokrenite sljedeću naredbu na domaćinima Ansible da biste onemogućili prijavu na temelju lozinke za ansible korisnik:
$ sudo usermod -L ansible
Ako kasnije odlučite omogućiti prijavu na temelju lozinke za ansible korisnik, pokrenite sljedeću naredbu na hostu Ansible:
$ sudo usermod -U ansibleTestiranje Ansible
Stvorite novi direktorij projekta ~ / projekt / u Debian stroj na koji ste instalirali Ansible (ansible-pc) pomoću sljedećeg koda:
$ mkdir ~ / projekt
Idite na ~ / projekt / direktorij pomoću sljedećeg koda:
$ cd ~ / projekt /
Stvori novo domaćini datoteku u direktoriju projekta kako slijedi:
$ nano domaćini
Sada navedite IP adrese ili DNS imena hostova Ansible (6f7c2 i 6b219 u mom slučaju) u domaćini datoteka:
192.168.20.167192.168.20.168
Nakon što završite, datoteku spremite pritiskom na
Da biste testirali, pokušajte pingati sve hostove koristeći Ansible sa sljedećim kodom:
$ ansible -i ./ hostira sve -u ansible -m pingBILJEŠKA: Evo, -u opcija se koristi za specificiranje korisničkog imena (ansible u ovom slučaju) koji će Ansible koristiti za SSH u hostove.
Kao što vidite, Ansible može pristupiti svim hostovima. Dakle, domaćini su spremni za Ansible automatizaciju.
Dakle, na taj način instalirate Ansible na Debian 10 i konfigurirate Debian hostove za Ansible automatizaciju. Hvala vam što ste pročitali ovaj članak.