Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible este un instrument de automatizare gratuit și open-source care simplifică gestionarea configurației și implementarea aplicațiilor pe mai multe mașini.

Ansible folosește limbajul declarativ pentru a descrie starea dorită a sistemelor și se ocupă automat de sarcinile necesare pentru a atinge acea stare.

Ansible folosește SSH ca metodă de conectare implicită pentru a se conecta la o mașină țintă. SSH oferă un canal de comunicare securizat și criptat între nodul de control Ansible și gazdele țintă.







De obicei, cea mai comună metodă de configurare a autentificării bazate pe chei SSH pentru gazda țintă este comanda ssh-copy-id. Comanda copiază cheia publică a nodului de control în fișierul „authorized_keys” de pe gazda țintă.



Cu toate acestea, atunci când configurați un sistem pentru prima dată, este posibil să aveți nevoie de Ansible pentru a face acest lucru într-un manual. Aici comunitatea Ansible vine în ajutor.



În comunitatea Ansible, avem acces la rolul ssh_id_copy care ne permite să autorizăm sistemele pentru autentificare SSH fără parolă.





Acest rol se ocupă de configurarea cheilor SSH pe mașina de la distanță, ceea ce ne permite să creăm un fișier de inventar Ansible cu mașina de la distanță. Putem apoi apela rapid orice manual Ansible împotriva mașinii de la distanță.

Rol Ansible Ssh_Copy_Id

Rolul are variabile care permit lui Ansible să configureze cheile SSH pe gazda la distanță. Astfel de variabile includ:



Nume gazdă – Definește sistemul la distanță la care să se conecteze (FQDN sau IP).

Nume de utilizator – Specifică numele de utilizator pentru conectarea la sistemul de la distanță.

Parola – Definește parola numelui de utilizator pentru a se conecta la sistemul de la distanță.

ssh_public_key – Definește calea absolută către fișierul cheie publică de configurat pe gazda la distanță.

Port – Definește portul SSH.

Instalarea rolului Ssh_Copy_Id

PRUDENȚĂ: Nu putem oferi valabilitatea și securitatea rolurilor și modulelor conduse de comunitate. Vă rugăm să verificați și să verificați funcționarea unui rol/modul înainte de a-l utiliza în producție și pe mașini reale. Nicio securitate nu este garantată atunci când lucrați cu pașii descriși în această postare.

După cum sa menționat, ssh_copy_id este un rol oferit de comunitate, care este oferit de Ryan. Linkul către depozit este furnizat după cum urmează:

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

Înainte de a-l putea folosi, trebuie să ne asigurăm că este instalat rulând următoarea comandă:

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

Exemplu de utilizare

Odată instalat, putem folosi rolul într-un manual, așa cum se arată în următoarele:

---
- Nume
: configurați autentificarea ssh fără parolă pe o mașină la distanță
gazde
: gazdă locală
deveni
: da
roluri
:
- rol
: ryankwilliams.ssh_copy_id
a caror
:
nume de gazdă
: 172.168.112.23
nume de utilizator
: ubuntu
parola
: parola
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

Exemplul anterior de manual de joc demonstrează cum să utilizați rolul pentru a configura autentificarea SSH fără parolă, un utilizator care este definit în mașina de la distanță.

Concluzie

În acest tutorial introductiv, ați învățat cum puteți profita de rolurile și modulele furnizate de comunitate pentru a configura autentificarea SSH fără parolă pe gazde la distanță folosind un manual Ansible.