Cum să conectați Ansible pe Windows de la Ubuntu?

Permiteți-mi să vă arăt rapid cum puteți conecta serverul Windows de la Ansible care rulează pe Ubuntu.


Pentru a urma pașii de mai jos, trebuie să aveți python 3.x și Ansible instalate pe ambele sisteme. Puteți urmări articolele de mai jos dacă aveți nevoie de ajutor.

Cum se instalează și se configurează Ansible pe Ubuntu?

Cum se instalează Ansible pe Windows?

Mai jos sunt detaliile ambelor servere pe care le folosesc:

  • Controlor răspunzător – 192.168.0.108
  • Windows Server – 192.168.0.102

Pasul 1: Creează un utilizator Windows Ansibil

Creați un utilizator nou pentru configurarea conexiunii Windows Ansible.

  • Deschideți Computer Management pe sistemul Windows și accesați Utilizatori și grupuri locale.
  • Faceți clic dreapta pe Utilizatori și creați un utilizator nou.
  • Selectați Parola nu expiră niciodată și faceți clic pe Creare.

utilizator ansibil

  • Acum, printre grupurile disponibile, faceți clic dreapta pe grupul Administratori și faceți clic pe proprietăți.
  • Faceți clic pe Adăugare și introduceți ansibil în numele obiectelor.
  • Faceți clic pe opțiunea de bifare nume, apoi OK.

grupuri ansibile

Acum, un utilizator ansibil pe o mașină Windows este gata.

Pasul 2: Instalarea bibliotecilor și WinRM

Accesați mașina dvs. de control ansibil, actualizați-o și instalați bibliotecile menționate mai jos.

[Email protected]: ~ $ sudo actualizare apt-get
[Email protected]: ~ $ sudo apt-get install gcc python-dev
[Email protected]: ~ $ sudo apt instala python3-pip

WinRM înseamnă management de la distanță pentru Windows. Vă permite să efectuați sarcini de gestionare pe sisteme Windows la distanță. Vom instala python3-WinRM, un client python care este utilizat pentru a face o conexiune la sistemul Windows.

[Email protected]: ~ $ sudo apt-get install python3-winrm
Citirea listelor de pachete … Gata
Construirea arborelui dependenței
Citirea informațiilor de stare … Gata
Următoarele pachete au fost instalate automat și nu mai sunt necesare:
gyp libc-ares2 libhttp-parser2.8 libjs-async libjs-mostrește libjs-is-typedarray libjs-nod-uuid libuv1 libuv1-dev nod-abreviere nod-ajv
node-ansi node-ansi-color-table node-ansi-regex nod-ansi-styles-uri nod-ansistyles node-aproba nod-archy nod-are-we-there-yet node-async

node-validate-npm-package-license node-wcwidth.js nod-care nod-care-modul nod-wide-align-all-node-wrap-ansi nod-wrappy nod-y18n
node-yallist node-yargs node-yargs-parser nodejs nodejs-doc
Utilizați „sudo apt autoremove” pentru a le elimina.
Vor fi instalate următoarele pachete suplimentare:
python3-kerberos python3-ntlm-auth python3-solicitări-kerberos python3-solicitări-ntlm python3-xmltodict
Următoarele pachete NOU vor fi instalate:
python3-kerberos python3-ntlm-auth python3-solicitări-kerberos python3-solicitări-ntlm python3-winrm python3-xmltodict
0 actualizat, 6 recent instalat, 0 pentru eliminat și 231 neactualizat.
Trebuie să obțineți 84,8 kB de arhive.
După această operație, se vor utiliza 442 kB de spațiu suplimentar pe disc.
Doriți să continuați? [Y / n] Y
Obțineți: 1 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-kerberos amd64 1.1.14-1build1 [16.8 kB]
Obțineți: 2 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-ntlm-auth all 1.1.0-1 [19.6 kB]
Obțineți: 3 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-request-kerberos all 0.11.0-2 [10.1 kB]
Obțineți: 4 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-Request-ntlm all 1.1.0-1 [6.004 B]
Obțineți: 5 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-xmltodict 0.11.0-2 [10.6 kB]
Obțineți: 6 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-winrm all 0.3.0-2 [21.7 kB]
Preluat 84,8 kB în 1s (70,3 kB / s)
Selectarea pachetului anterior neselectat python3-kerberos.
(Citirea bazei de date … 244430 fișiere și directoare instalate în prezent.)
Pregătirea pentru a despacheta … / 0-python3-kerberos_1.1.14-1build1_amd64.deb …
Despachetarea python3-kerberos (1.1.14-1build1) …
Selectarea pachetului anterior neselectat python3-ntlm-auth.
Selectarea pachetului anterior neselectat python3-xmltodict.
Pregătirea pentru a despacheta … / 4-python3-xmltodict_0.11.0-2_all.deb …
Despachetarea python3-xmltodict (0.11.0-2) …
Selectarea pachetului anterior neselectat python3-winrm.
Pregătirea pentru a despacheta … / 5-python3-winrm_0.3.0-2_all.deb …
Despachetarea python3-winrm (0.3.0-2) …
Configurarea python3-kerberos (1.1.14-1build1) …
Configurarea python3-winrm (0.3.0-2) …

Pasul 3: Actualizați fișierul Inventar Ansibil

Acum, voi edita fișierul gazdelor ansibile cu adresa IP a sistemului Windows. Așadar, acum, ansibil va ști ce sistem Windows trebuie să se conecteze.

[Email protected]: ~ $ sudo gedit / etc / ansible / hosts

[victorie]
192.168.0.102

Pasul 4: Actualizați variabilele cu grupuri sensibile

Creați un director pentru a pune variabile trebuie să vă conectați la sistemul Windows.

[Email protected]: ~ $ mkdir / etc / ansible / group_vars
[Email protected]: ~ $ sudo chmod -R 777 / etc / ansible /

Creați un fișier win.yaml și puneți detaliile utilizatorului pe care le-ați creat în primul pas și câteva alte variabile necesare pentru a vă conecta la sistemul Windows.

[Email protected]: ~ $ gedit /etc/ansible/group_vars/win.yaml

ansible_user: ansible

ansible_password: ansible

ansible_connection: winrm

ansible_winrm_server_cert_validation: ignorați

ansible_winrm_transport: de bază

ansible_winrm_port: 5985

ansible_python_interpreter: C: \ Users \ geekflare \ AppData \ Local \ Programs \ Python \ Python37 \ python

Pasul 5: Configurați serverele Windows pentru a gestiona

Deschideți-vă shell-ul pentru Windows și faceți upgrade. Trebuie să aveți Powershell 3.0 și .NET Framework 4.0 prezent pe mașina Windows.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/jborean93/ansible-windows/master/scripts/Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ file = "$ Env: temp \ Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ nume de utilizator = "ansiblu"
PS C: \ WINDOWS \ system32> $ parolă = "ansiblu"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutionPolicy -ExecutionPolicy Nerestricționat -Force
PS C: \ WINDOWS \ system32> &$ fișier -Versiune 5.1-Nume utilizator $ nume utilizator -Password $ parolă -Verbose

Pentru a configura WinRM pe un sistem Windows cu ansible, un ansamblu de scripturi de configurare a fost furnizat de ansible. Rulați scriptul în PowerShell.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
PS C: \ WINDOWS \ system32> $ file = "$ Env: temp \ ConfigureRemotingForAnsible.ps1"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> powershell.exe -ExecutionPolicy ByPass -File $ fișier
PS C: \ WINDOWS \ system32> winrm enumera winrm / config / ascultător

Ascultător
Adresa = *
Transport = HTTP
Port = 5985
Numele gazdei
Activat = true
URLPrefix = wsman

CertificateThumbprint
ListeningOn = 127.0.0.1, 169.254.8.240, 169.254.36.9, 169.254.102.217, 169.254.215.170, 192.168.0.102, :: 1, fe80 :: 3131: c6d7: 9ef5: 8f0% 7, fe80 :: 51b7: 9134: 550d: d7aa% 22, fe80 :: 88f1: 1229: e1dd: 2409% 16, fe80 :: 99cf: 5796: 4f8e: f5c1% 15, fe80 :: fd77: c19d: e0f2: 66d9% 9

Ascultător
Adresa = *
Transport = HTTPS
Port = 5986
Nume gazdă = DESKTOP-2L8QMI6
Activat = true
URLPrefix = wsman

CertificateThumbprint = C83B3FC8B274D0B650F0FD647DC7AC129BBE3FA0
ListeningOn = 127.0.0.1, 169.254.8.240, 169.254.36.9, 169.254.102.217, 169.254.215.170, 192.168.0.102, :: 1, fe80 :: 3131: c6d7: 9ef5: 8f0% 7, fe80 :: 51b7: 9134: 550d: d7aa% 22, fe80 :: 88f1: 1229: e1dd: 2409% 16, fe80 :: 99cf: 5796: 4f8e: f5c1% 15, fe80 :: fd77: c19d: e0f2: 66d9% 9

Setați winrm pentru a permite traficul HTTP.

PS C: \ WINDOWS \ system32> winrm set winrm / config / service ‘@ {AllowUnencrypted ="Adevărat"}“
Serviciu
RootSDDL = O: NSG: BAD: P (A ;; GA ;;; BA) (A ;; GR ;;; IU) S: P (AU; FA; GA ;;; WD) (AU; SA; GXGW; ;; WD)

MaxConcurrentOperations = 4294967295

MaxConcurrentOperationsPerUser = 1500

EnumerationTimeoutms = 240000
Conexiuni maxime = 300

MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
Auth
De bază = adevărat
Kerberos = adevărat
Negociază = adevărat
Certificat = fals
CredSSP = fals

CbtHardeningLevel = Relaxat
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
Filtru IPv6 = *

EnableCompatibilityHttpListener = false

EnableCompatibilityHttpsListener = false

CertificateThumbprint
AllowRemoteAccess = true

Setați autentificarea la bază în confirmare.

PS C: \ WINDOWS \ system32> winrm set winrm / config / service / auth ‘@ {Basic ="Adevărat"}“
Auth
De bază = adevărat
Kerberos = adevărat
Negociază = adevărat
Certificat = fals
CredSSP = fals
CbtHardeningLevel = Relaxat

Pasul 6: Testează conectivitatea la Windows Server

Acum sunt făcuți toți pașii de pe mașină. Accesați controlerul ansible și faceți clic pe mașina serverului Windows folosind modulul ansițabil win_ping.

[Email protected]: ~ $ ansible win -m win_ping
192.168.0.102 | SUCCES => {

"schimbat": fals,
"ping": "pong"
}

Mesajul de succes arată că conexiunea a fost stabilită. Acum, sistemul Windows este gata de a fi administrat de la distanță din Ansible care rulează pe Ubuntu.

ETICHETE:

  • ansiblu

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map