Ansible koristi deklarativni jezik za opisivanje željenog stanja sustava i automatski obrađuje zadatke koji su potrebni za postizanje tog stanja.
Ansible koristi SSH kao zadanu metodu povezivanja za povezivanje s ciljnim strojem. SSH pruža siguran i šifriran komunikacijski kanal između kontrolnog čvora Ansible i ciljnih računala.
Tipično, najčešći način konfiguriranja autentifikacije temeljene na SSH ključu za ciljno računalo je naredba ssh-copy-id. Naredba kopira javni ključ kontrolnog čvora u datoteku 'authorized_keys' na ciljnom hostu.
Međutim, kada prvi put konfigurirate sustav, možda će vam trebati Ansible da to učinite u priručniku. Tu Ansible zajednica dolazi u pomoć.
U Ansible zajednici imamo pristup ulozi ssh_id_copy koja nam omogućuje autorizaciju sustava za SSH autentifikaciju bez lozinke.
Ova uloga upravlja postavljanjem SSH ključeva na udaljenom računalu što nam omogućuje stvaranje datoteke popisa Ansible s udaljenim računalom. Tada možemo brzo pozvati bilo koji Ansible playbook protiv udaljenog stroja.
Ansible Ssh_Copy_Id uloga
Uloga ima varijable koje omogućuju Ansibleu da konfigurira SSH ključeve na udaljenom hostu. Takve varijable uključuju:
Naziv hosta – Definira udaljeni sustav na koji se povezuje (FQDN ili IP).
Korisničko ime – Određuje korisničko ime za povezivanje s udaljenim sustavom.
Lozinka – Definira lozinku korisničkog imena za spajanje na udaljeni sustav.
ssh_javni_ključ – Definira apsolutni put do datoteke javnog ključa za konfiguraciju na udaljenom glavnom računalu.
Luka – Definira SSH port.
Instaliranje uloge Ssh_Copy_Id
OPREZ: Ne možemo osigurati valjanost i sigurnost uloga i modula koje pokreće zajednica. Molimo izvršite reviziju i provjerite funkcioniranje uloge/modula prije korištenja u proizvodnji i na stvarnim strojevima. Prilikom rada s koracima koji su navedeni u ovom postu nije zajamčena sigurnost.
Kao što je spomenuto, ssh_copy_id uloga je zajednice koju osigurava Ryan. Veza na repozitorij je navedena na sljedeći način:
https://github.com/ryankwilliams/ansible-ssh-copy-id
Prije nego što ga možemo koristiti, moramo osigurati da je instaliran pokretanjem sljedeće naredbe:
$ ansibl-galaksija instalirati rywillia.ssh-copy-id
Primjer upotrebe
Nakon instaliranja, možemo koristiti ulogu u priručniku kao što je prikazano u sljedećem:
---- Ime : konfigurirajte ssh autentifikaciju bez lozinke na udaljenom računalu
domaćini : lokalni domaćin
postati : Da
uloge :
- uloga : ryankwilliams.ssh_copy_id
čiji :
ime hosta : 172.168.112.23
Korisničko ime : ubuntu
lozinka : lozinka
ssh_javni_ključ : /home/debian12/.ssh/id_rsa.pub
ssh_port : 22
Prethodni primjer priručnika pokazuje kako koristiti ulogu za postavljanje SSH provjere autentičnosti bez lozinke, korisnika koji je definiran na udaljenom računalu.
Zaključak
U ovom uvodnom vodiču naučili ste kako možete iskoristiti uloge i module koje pruža zajednica za konfiguriranje SSH autentifikacije bez lozinke na udaljenim hostovima pomoću Ansible playbook-a.