Ansible käyttää deklaratiivista kieltä kuvaamaan haluttua järjestelmien tilaa ja hoitaa automaattisesti tehtävät, joita tarvitaan tämän tilan saavuttamiseksi.
Ansible käyttää SSH:ta oletusyhteystavana yhteyden muodostamiseen kohdekoneeseen. SSH tarjoaa turvallisen ja salatun viestintäkanavan Ansible-ohjaussolmun ja kohdeisäntien välillä.
Tyypillisesti yleisin tapa määrittää SSH-avainpohjainen todennus kohdeisännälle on ssh-copy-id-komento. Komento kopioi ohjaussolmun julkisen avaimen kohdeisännän 'authorized_keys'-tiedostoon.
Kuitenkin, kun määrität järjestelmää ensimmäistä kertaa, saatat tarvita Ansiblen tekemään sen pelikirjassa. Tässä Ansible-yhteisö tulee apuun.
Ansible-yhteisössä meillä on pääsy rooliin ssh_id_copy, jonka avulla voimme valtuuttaa järjestelmät salasanattomaan SSH-todennukseen.
Tämä rooli hoitaa etäkoneen SSH-avaimien asennuksen, jonka avulla voimme luoda Ansible-inventaaritiedoston etäkoneella. Voimme sitten nopeasti kutsua mitä tahansa Ansible-pelikirjaa etäkonetta vastaan.
Mahdollinen Ssh_Copy_Id-rooli
Roolissa on muuttujia, joiden avulla Ansible voi määrittää etäisännän SSH-avaimet. Tällaisia muuttujia ovat:
Isäntänimi – Se määrittää etäjärjestelmän, johon yhdistetään (FQDN tai IP).
Käyttäjätunnus – Se määrittää käyttäjänimen, jolla etäjärjestelmään yhdistetään.
Salasana – Se määrittää etäjärjestelmään yhteyden muodostavan käyttäjätunnuksen salasanan.
ssh_public_key – Se määrittää absoluuttisen polun julkisen avaimen tiedostoon, joka määritetään etäisännälle.
Portti – Se määrittää SSH-portin.
Ssh_Copy_Id-roolin asentaminen
VAROITUS: Emme voi tarjota yhteisölähtöisten roolien ja moduulien pätevyyttä ja turvallisuutta. Tarkista ja varmista roolin/moduulin toiminta ennen kuin käytät sitä tuotannossa ja oikeissa koneissa. Turvallisuutta ei taata, kun työskentelet tässä viestissä kuvattujen vaiheiden kanssa.
Kuten mainittiin, ssh_copy_id on yhteisön tarjoama rooli, jonka tarjoaa Ryan. Linkki arkistoon löytyy seuraavasti:
https://github.com/ryankwilliams/ansible-ssh-copy-id
Ennen kuin voimme käyttää sitä, meidän on varmistettava, että se on asennettu suorittamalla seuraava komento:
$ ansible-galaksi Asentaa rywillia.ssh-copy-id
Käyttöesimerkki
Kun se on asennettu, voimme käyttää roolia leikkikirjassa seuraavassa esitetyllä tavalla:
----nimi : määritä salasanaton ssh-todennus etäkoneessa
isännät : paikallinen isäntä
tulla : Joo
roolit :
- rooli : ryankwilliams.ssh_copy_id
jonka :
isäntänimi : 172.168.112.23
käyttäjätunnus : ubuntu
Salasana : Salasana
ssh_public_key : /home/debian12/.ssh/id_rsa.pub
ssh_portti : 22
Edellinen esimerkkipelikirja näyttää, kuinka roolia käytetään salasanattoman SSH-todennuksen määrittämiseen, joka on käyttäjä, joka on määritetty etäkoneessa.
Johtopäätös
Tässä johdanto-opetusohjelmassa opit, kuinka voit hyödyntää yhteisön tarjoamia rooleja ja moduuleja konfiguroidaksesi salasanattoman SSH-todennuksen etäisännissä Ansible-pelikirjan avulla.