Topologie de rețea
Aici, ansible-pc este o mașină Debian 10 unde vom instala Ansible.
Serverele 6f7c2 și 6b219 sunt mașini Debian 10 pe care le vom configura pentru automatizarea Ansible. Pur și simplu voi numi aceste servere gazde Ansible în scopul acestui articol.
Putem folosi Ansible de la ansible-pc pentru a automatiza diferite sarcini în 6f7c2 și 6b219 Serverele Debian.
Instalarea Ansible
În această secțiune, vă voi arăta cum să instalați Ansible pe ansible-pc.
Puteți instala Ansible pe Debian 10 din depozitul oficial de pachete Debian.
Mai întâi, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:
$ sudo apt actualizare
Acum, instalați Ansible cu următoarea comandă:
$ sudo apt install ansible
Pentru a confirma instalarea, apăsați Da și apoi apăsați
Ansible ar trebui instalat.
Acum, executați următoarea comandă pentru a verifica dacă Ansible funcționează corect.
$ ansible --versiuneDupă cum puteți vedea, comanda ansible este disponibilă și funcționează corect. Ansible 2.7.7 este cea mai recentă versiune a Ansible disponibilă în depozitul de pachete Debian în momentul în care a fost scris acest articol.
Generarea cheii SSH
Pe mașina Debian 10 (ansible-pc) unde ați instalat Ansible, trebuie mai întâi să generați o cheie SSH.
Pentru a genera o cheie SSH, rulați următoarea comandă:
$ ssh-keygen
Acum, apăsați
presa
presa
Ar trebui generată o cheie SSH.
Configurarea gazdelor Debian pentru automatizarea Ansible
În această secțiune, vă voi arăta cum să configurați o gazdă Debian pentru automatizarea Ansible. Dacă aveți mai multe gazde pe care doriți să le automatizați folosind Ansible, repetați același proces pentru fiecare dintre gazde.
Gazdele pe care doriți să le configurați pentru automatizarea Ansible trebuie să aibă pachetul server SSH preinstalat.
Mai întâi, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:
$ sudo apt actualizare
Apoi, instalați serverul OpenSSH cu următoarea comandă:
$ sudo apt instalează openssh-server -y
În cazul meu, pachetul de server OpenSSH este deja instalat. Dacă nu este instalat în cazul dvs., atunci ar trebui instalat înainte de acest pas.
Acum, verificați dacă sshd serviciul rulează prin următoarea comandă:
$ sudo systemctl status sshdDupă cum puteți vedea, sshd serviciul este activ (alergând) și activat (va porni automat la pornirea sistemului).
Dacă sshd serviciul este inactiv (rulează), porniți-l manual cu următoarea comandă:
$ sudo systemctl începe sshd
Dacă sshd serviciul nu este activat (nu este adăugat la pornirea sistemului) în cazul dvs., adăugați-l manual la pornirea sistemului cu următoarea comandă:
$ sudo systemctl activează sshd
Acum, creați un ansible utilizator și permite accesul sudo fără parolă la ansible utilizator.
Pentru a crea un ansible utilizator, executați următoarea comandă:
$ sudo adduser --shell / bin / bash --gecos "" ansible
Introduceți o parolă pentru ansible utilizator și apăsați
Introduceți din nou parola și apăsați
Un ansible utilizatorul ar trebui creat.
Acum, pentru a permite accesul sudo fără parolă la ansible utilizator, editați fișierul / etc / sudoers fișier cu următoarea comandă:
$ sudo visudo
Acum, adăugați următoarea linie la / etc / sudoers fişier.
ansible ALL = (ALL) NOPASSWD: ALLApoi, salvați fișierul apăsând
Acum, găsiți adresa IP a gazdei Ansible 6f7c2 cu următoarea comandă:
$ hostname -IAici, adresa IP în cazul meu este 192.168.20.167. Va fi diferit pentru tine. Deci, asigurați-vă că înlocuiți această adresă cu propriul formular acum.
Copierea cheii publice SSH către gazda Ansible
De pe computerul pe care ați instalat Ansible (ansible-pc), copiați cheia publică SSH pe gazda Ansible 6f7c2 după cum urmează:
$ ssh-copy-id ansible @ 192.168.20.167
Introduceți da și apăsați
Apoi, tastați parola pentru ansible utilizator și apăsați
Cheia SSH publică trebuie copiată la gazda Ansible 6f7c2.
Ar trebui să puteți face SSH în gazda Ansible 6f7c2 ca utilizator ansible fără nicio parolă, după cum puteți vedea din captura de ecran de mai jos:
$ ssh ansible @ 192.168.20.167
De asemenea, ar trebui să puteți executa comenzi sudo fără să vi se solicite nicio parolă.
$ sudo ls /
În cele din urmă, închideți sesiunea SSH după cum urmează:
$ exit
Securizarea gazdelor Ansible
Dupa cum ansible utilizatorul poate rula orice comandă sudo fără să ni se solicite o parolă, am configurat datele de conectare bazate pe cheia SSH pentru gazdele Ansible. Dar, puteți încă SSH în gazdele Ansible ca ansible utilizatorul utilizând parola de ansible utilizator. Deci, acest lucru nu este foarte sigur.
Pentru a îmbunătăți securitatea, rulați următoarea comandă pe gazdele Ansible pentru a dezactiva autentificarea bazată pe parolă pentru ansible utilizator:
$ sudo usermod -L ansible
Dacă ulterior decideți să activați autentificarea bazată pe parolă pentru ansible utilizator, rulați următoarea comandă pe gazda Ansible:
$ sudo usermod -U ansibleTestarea Ansible
Creați un director de proiect nou ~ / proiect / în mașina Debian unde ați instalat Ansible (ansible-pc) folosind următorul cod:
$ mkdir ~ / proiect
Navigați la ~ / proiect / director folosind următorul cod:
$ cd ~ / project /
Creaza un nou gazde în directorul proiectului după cum urmează:
$ nano gazde
Acum, listați adresele IP sau numele DNS ale gazdelor Ansible (6f7c2 și 6b219 în cazul meu) în gazde fişier:
192.168.20.167192.168.20.168
După ce ați terminat, salvați fișierul apăsând
Pentru a testa, încercați să faceți ping la toate gazdele folosind Ansible cu următorul cod:
$ ansible -i ./ găzduiește toate -u ansible -m pingNOTĂ: Aici -tu opțiunea este utilizată pentru a specifica numele de utilizator (ansible în acest caz) pe care Ansible îl va folosi pentru SSH în gazde.
După cum puteți vedea, Ansible poate accesa toate gazdele. Deci, gazdele sunt pregătite pentru automatizarea Ansible.
Deci, așa instalați Ansible pe Debian 10 și configurați gazdele Debian pentru automatizarea Ansible. Vă mulțumim că ați citit acest articol.