Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible je bezplatný a otevřený nástroj pro automatizaci, který zjednodušuje správu konfigurace a nasazení aplikací na více počítačích.

Ansible používá deklarativní jazyk k popisu požadovaného stavu systémů a automaticky zpracovává úkoly, které jsou potřebné k dosažení tohoto stavu.

Ansible používá SSH jako výchozí metodu připojení pro připojení k cílovému počítači. SSH poskytuje bezpečný a šifrovaný komunikační kanál mezi řídicím uzlem Ansible a cílovými hostiteli.







Obvykle je nejběžnější metodou konfigurace autentizace na základě klíče SSH pro cílového hostitele příkaz ssh-copy-id. Příkaz zkopíruje veřejný klíč řídicího uzlu do souboru „authorized_keys“ na cílovém hostiteli.



Když však konfigurujete systém poprvé, možná budete potřebovat Ansible, aby to provedl v playbooku. Zde přichází na pomoc komunita Ansible.



V komunitě Ansible máme přístup k roli ssh_id_copy, která nám umožňuje autorizovat systémy pro autentizaci SSH bez hesla.





Tato role se stará o nastavení klíčů SSH na vzdáleném počítači, což nám umožňuje vytvořit soubor inventáře Ansible se vzdáleným počítačem. Pak můžeme rychle zavolat jakoukoli Ansible playbook proti vzdálenému počítači.

Ansible role Ssh_Copy_Id

Role má proměnné, které umožňují Ansible konfigurovat klíče SSH na vzdáleném hostiteli. Mezi takové proměnné patří:



Název hostitele – Definuje vzdálený systém, ke kterému se má připojit (FQDN nebo IP).

Uživatelské jméno – Určuje uživatelské jméno pro připojení ke vzdálenému systému.

Heslo – Definuje heslo uživatelského jména pro připojení ke vzdálenému systému.

ssh_public_key – Definuje absolutní cestu k souboru veřejného klíče pro konfiguraci na vzdáleném hostiteli.

Přístav – Definuje port SSH.

Instalace role Ssh_Copy_Id

POZOR: Nemůžeme zajistit platnost a bezpečnost rolí a modulů řízených komunitou. Před použitím ve výrobě a na skutečných strojích zkontrolujte a ověřte fungování role/modulu. Při práci s kroky popsanými v tomto příspěvku není zaručena žádná bezpečnost.

Jak již bylo zmíněno, ssh_copy_id je role poskytovaná komunitou, kterou poskytuje Ryan. Odkaz na úložiště je uveden následovně:

https://github.com/ryankwilliams/ansible-ssh-copy-id

Než jej budeme moci použít, musíme se ujistit, že je nainstalován spuštěním následujícího příkazu:

$ ansible-galaxie Nainstalujte rywillia.ssh-copy-id

Příklad použití

Po instalaci můžeme roli použít v playbooku, jak je ukázáno v následujícím:

---
- název
: nakonfigurujte ověřování ssh bez hesla na vzdáleném počítači
hostitelé
: localhost
stát se
: Ano
role
:
- role
: ryankwilliams.ssh_copy_id
jehož
:
název hostitele
: 172.168.112.23
uživatelské jméno
: ubuntu
Heslo
: Heslo
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

Předchozí ukázková příručka ukazuje, jak použít roli k nastavení ověřování SSH bez hesla, uživatele, který je definován ve vzdáleném počítači.

Závěr

V tomto úvodním tutoriálu jste se naučili, jak můžete využít výhod rolí a modulů poskytovaných komunitou ke konfiguraci ověřování SSH bez hesla na vzdálených hostitelích pomocí příručky Ansible.