Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible er et gratis og open source-automatiseringsværktøj, der forenkler styringen af ​​konfiguration og applikationsimplementering på flere maskiner.

Ansible bruger det deklarative sprog til at beskrive den ønskede tilstand af systemer og håndterer automatisk de opgaver, der er nødvendige for at opnå denne tilstand.

Ansible bruger SSH som standardforbindelsesmetode til at oprette forbindelse til en målmaskine. SSH giver en sikker og krypteret kommunikationskanal mellem Ansible-kontrolnoden og målværterne.







Typisk er den mest almindelige metode til at konfigurere den SSH-nøglebaserede godkendelse for målværten kommandoen ssh-copy-id. Kommandoen kopierer den offentlige nøgle for kontrolnoden til filen 'authorized_keys' på målværten.



Men når du konfigurerer et system for første gang, skal du muligvis bruge Ansible til at gøre det i en playbook. Det er her, Ansible-samfundet kommer til undsætning.



I Ansible-fællesskabet har vi adgang til rollen ssh_id_copy, som giver os mulighed for at autorisere systemerne til adgangskodefri SSH-godkendelse.





Denne rolle håndterer opsætningen af ​​SSH-nøglerne på den eksterne maskine, som giver os mulighed for at oprette en Ansible inventarfil med den eksterne maskine. Vi kan derefter hurtigt kalde enhver Ansible-spillebog mod fjernmaskinen.

Ansible Ssh_Copy_Id-rolle

Rollen har variabler, der gør det muligt for Ansible at konfigurere SSH-nøglerne på fjernværten. Sådanne variabler omfatter:



Værtsnavn – Den definerer det fjernsystem, der skal oprettes forbindelse til (FQDN eller IP).

Brugernavn – Det angiver brugernavnet, der skal oprettes forbindelse til fjernsystemet.

Adgangskode – Den definerer adgangskoden til brugernavnet for at oprette forbindelse til fjernsystemet.

ssh_offentlig_nøgle – Den definerer den absolutte sti til den offentlige nøglefil, der skal konfigureres på fjernværten.

Havn – Det definerer SSH-porten.

Installation af Ssh_Copy_Id-rollen

ADVARSEL: Vi kan ikke levere gyldigheden og sikkerheden af ​​fællesskabsdrevne roller og moduler. Revidér og verificer, hvordan en rolle/modul fungerer, før du bruger det i produktionen og på rigtige maskiner. Ingen sikkerhed er garanteret, når du arbejder med de trin, der er beskrevet i dette indlæg.

Som nævnt er ssh_copy_id en rolle leveret af fællesskabet, som leveres af Ryan. Linket til depotet er givet som følger:

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

Før vi kan bruge det, skal vi sikre, at det er installeret ved at køre følgende kommando:

$ ansible-galakse installere rywillia.ssh-copy-id

Eksempel på brug

Når den er installeret, kan vi bruge rollen i en spillebog som vist i følgende:

---
- navn
: konfigurere adgangskodefri ssh-godkendelse på en ekstern maskine
værter
: lokal vært
blive
: Ja
roller
:
- rolle
: ryankwilliams.ssh_copy_id
hvis
:
værtsnavn
: 172.168.112.23
brugernavn
: ubuntu
adgangskode
: adgangskode
ssh_offentlig_nøgle
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

Det forrige eksempel på spillebog viser, hvordan man bruger rollen til at konfigurere den adgangskodeløse SSH-godkendelse, en bruger, der er defineret i den eksterne maskine.

Konklusion

I denne introduktion lærte du, hvordan du kan drage fordel af fællesskabsleverede roller og moduler til at konfigurere den adgangskodeløse SSH-godkendelse på fjernværter ved hjælp af en Ansible-spillebog.