Ansible používa deklaratívny jazyk na opis požadovaného stavu systémov a automaticky spracováva úlohy, ktoré sú potrebné na dosiahnutie tohto stavu.
Ansible používa SSH ako predvolenú metódu pripojenia na pripojenie k cieľovému počítaču. SSH poskytuje bezpečný a šifrovaný komunikačný kanál medzi riadiacim uzlom Ansible a cieľovými hostiteľmi.
Najbežnejšou metódou konfigurácie autentifikácie založenej na kľúči SSH pre cieľového hostiteľa je príkaz ssh-copy-id. Príkaz skopíruje verejný kľúč riadiaceho uzla do súboru „authorized_keys“ na cieľovom hostiteľovi.
Keď však konfigurujete systém prvýkrát, možno budete potrebovať, aby to urobil Ansible v príručke. Tu prichádza na pomoc komunita Ansible.
V komunite Ansible máme prístup k úlohe ssh_id_copy, ktorá nám umožňuje autorizovať systémy na autentifikáciu SSH bez hesla.
Táto rola sa stará o nastavenie kľúčov SSH na vzdialenom počítači, čo nám umožňuje vytvoriť súbor inventára Ansible na vzdialenom počítači. Potom môžeme rýchlo zavolať akúkoľvek Ansible playbook proti vzdialenému stroju.
Ansible Ssh_Copy_Id Role
Rola má premenné, ktoré umožňujú Ansible konfigurovať kľúče SSH na vzdialenom hostiteľovi. Medzi takéto premenné patria:
Meno hosťa – Definuje vzdialený systém, ku ktorému sa má pripojiť (FQDN alebo IP).
Používateľské meno – Špecifikuje meno používateľa na pripojenie k vzdialenému systému.
heslo – Definuje heslo používateľského mena na pripojenie k vzdialenému systému.
ssh_public_key – Definuje absolútnu cestu k súboru verejného kľúča, ktorý sa má nakonfigurovať na vzdialenom hostiteľovi.
Port – Definuje port SSH.
Inštalácia roly Ssh_Copy_Id
POZOR: Nemôžeme zabezpečiť platnosť a bezpečnosť rolí a modulov riadených komunitou. Pred použitím vo výrobe a na skutočných strojoch skontrolujte a overte fungovanie roly/modulu. Pri práci s krokmi, ktoré sú uvedené v tomto príspevku, nie je zaručená žiadna bezpečnosť.
Ako už bolo spomenuté, ssh_copy_id je rola poskytovaná komunitou, ktorú poskytuje Ryan. Odkaz na úložisko je uvedený takto:
https://github.com/ryankwilliams/ansible-ssh-copy-id
Skôr ako ho budeme môcť použiť, musíme sa uistiť, že je nainštalovaný spustením nasledujúceho príkazu:
$ ansible-galaxia Inštalácia rywillia.ssh-copy-id
Príklad použitia
Po nainštalovaní môžeme rolu použiť v príručke, ako je znázornené v nasledujúcom texte:
---- názov : nakonfigurovať autentifikáciu ssh bez hesla na vzdialenom počítači
hostiteľov : localhost
stať sa : Áno
rolí :
- rola : ryankwilliams.ssh_copy_id
ktorých :
meno hosťa : 172.168.112.23
užívateľské meno : ubuntu
heslo : heslo
ssh_public_key : /home/debian12/.ssh/id_rsa.pub
ssh_port : 22
Predchádzajúci príklad ukazuje, ako použiť rolu na nastavenie autentifikácie SSH bez hesla, používateľa, ktorý je definovaný na vzdialenom počítači.
Záver
V tomto úvodnom návode ste sa naučili, ako môžete využiť výhody komunitou poskytovaných rolí a modulov na konfiguráciu overovania SSH bez hesla na vzdialených hostiteľoch pomocou príručky Ansible.