Com connectar Ansible a Windows des d’Ubuntu?

Permeteu-me mostrar-vos ràpidament com connectar el servidor de Windows des de Ansible en funcionament a Ubuntu.


Per seguir els passos següents, heu de tenir instal·lat Python 3.x i Ansible als dos sistemes. Podeu seguir els articles següents si necessiteu ajuda.

Com instal·lar i configurar Ansible a Ubuntu?

Com instal·lar Ansible a Windows?

A continuació, es detallen els servidors que utilitzo:

  • Ansible Controler – 192.168.0.108
  • Windows Server – 192.168.0.102

Pas 1: crea un usuari de Windows amb resposta

Creeu un nou usuari per a la configuració de la connexió de Windows Ansible.

  • Obriu Gestió informàtica al vostre sistema Windows i aneu a Usuaris i grups locals.
  • Feu clic amb el botó dret sobre Usuaris i creeu-ne un.
  • Marqueu la casella de selecció Contrasenya que no caduca i feu clic a Crear.

usuari ansible

  • Ara entre els grups disponibles, feu clic amb el botó dret al grup Administradors i feu clic a propietats.
  • Feu clic a Afegeix i escriviu l’ensible en els noms d’objectes.
  • Feu clic a l’opció de comprovació dels noms i, a continuació, d’acord.

grups ansibles

Ara, un usuari ansible en una màquina Windows està a punt.

Pas 2: configurar biblioteques i WinRM

Vés a la teva màquina de controlador ansible, actualitza-la i instal·la les biblioteques esmentades a continuació.

[correu electrònic protegit]: ~ ~ sudo actualització apt-get
[correu electrònic protegit]: ~ $ sudo apt-get install gcc python-dev
[correu electrònic protegit]: ~ $ sudo apt instal·lar python3-pip

WinRM és la gestió remota de Windows. Permet realitzar tasques de gestió en sistemes Windows remots. Instal·larem python3-winrm, un client python que s’utilitza per fer una connexió amb el sistema Windows.

[correu electrònic protegit]: ~ $ sudo apt-get install python3-winrm
Lectura de llistes de paquets … Fet
Arbre de dependència de construcció
Llegir informació de l’estat … Fet
S’han instal·lat automàticament els paquets següents i ja no són necessaris:
gyp libc-ares2 libhttp-parser2.8 libjs-async libjs-hereta libjs-is-typedarray libjs-node-uuid libuv1 libuv1-dev node-abbrev node-ajv
node-ansi node-ansi-color-table node-ansi-regex node-ansi-styles node-ansistyles node-aproba node-archy node-are-we-there-yet node-async

node-validate-npm-package-license-node-wcwidth.js node-que node-which-module node-wide-align-node-wrap-ansi node-wrappy node-y18n
node-yallist node-yargs node-yargs-parser nodejs nodejs-doc
Utilitzeu ‘sudo apt autoremove’ per eliminar-los.
S’instal·laran els paquets addicionals següents:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-Request-ntlm python3-xmltodict
S’instal·laran els paquets NOUS següents:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-request-ntlm python3-winrm python3-xmltodict
0 actualitzats, 6 recent instal·lats, 0 eliminat i 231 no actualitzat.
Necessiteu obtenir 84,8 kB d’arxius.
Després d’aquesta operació, s’utilitzarà 442 kB d’espai de disc addicional.
Vols continuar? [I / n] I
Obteniu: 1 http://old-releases.ubuntu.com/ubuntu còsmic / univers amd64 python3-kerberos amd64 1.1.14-1build1 [16.8 kB]
Obteniu: 2 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-ntlm-auth tot 1.1.0-1 [19,6 kB]
Obteniu: 3 http://old-releases.ubuntu.com/ubuntu cosmic / univers amd64 python3-request-kerberos tot 0.11.0-2 [10.1 kB]
Obteniu: 4 http://old-releases.ubuntu.com/ubuntu còsmic / univers amd64 python3-request-ntlm tot 1.1.0-1 [6.004 B]
Obteniu: 5 http://old-releases.ubuntu.com/ubuntu còsmic / univers amd64 python3-xmltodict tot 0.11.0-2 [10.6 kB]
Obteniu: 6 http://old-releases.ubuntu.com/ubuntu còsmic / univers amd64 python3-winrm tot 0.3.0-2 [21,7 kB]
Obtingut 84,8 kB en 1s (70,3 kB / s)
Selecció del paquet python3-kerberos no seleccionat anteriorment.
(Base de dades de lectura … 244430 fitxers i directoris instal·lats actualment.)
Preparat per desembalar … / 0-python3-kerberos_1.1.14-1build1_amd64.deb …
Desempaquetar python3-kerberos (1.1.14-1build1) …
Selecció del paquet python3-ntlm-auth no seleccionat anteriorment.
Selecció del paquet python3-xmltodict no seleccionat anteriorment.
Preparant-se per empaquetar … / 4-python3-xmltodict_0.11.0-2_all.deb …
Desempaquetar python3-xmltodict (0.11.0-2) …
Selecció del paquet python3-winrm no seleccionat anteriorment.
Preparant-se per desembalar … / 5-python3-winrm_0.3.0-2_all.deb …
Desempaquetar python3-winrm (0.3.0-2) …
Configuració de python3-kerberos (1.1.14-1build1) …
Configuració de python3-winrm (0.3.0-2) …

Pas 3: actualitzeu el fitxer d’Inventari Ansible

Ara, editaré el fitxer hosts ansible amb l’adreça IP del sistema de Windows. Ara, ansible sabrà quin sistema de Windows necessita connectar.

[correu electrònic protegit]: ~ $ sudo gedit / etc / ansible / hosts

[guanyar]
192.168.0.102

Pas 4: actualitzeu les variables del grup Ansible

Creeu un directori per posar variables que necessiteu connectar-vos al sistema Windows.

[correu electrònic protegit]: ~ $ mkdir / etc / ansible / group_vars
[correu electrònic protegit]: ~ $ sudo chmod -R 777 / etc / ansible /

Creeu un fitxer win.yaml i poseu les dades d’usuari que heu creat al primer pas i algunes variables més necessàries per connectar-vos al sistema Windows.

[correu electrònic protegit]: ~ $ gedit /etc/ansible/group_vars/win.yaml

ansible_user: ansible

ansible_password: ansible

ansible_connection: winrm

ansible_winrm_server_cert_validation: ignore

ansible_winrm_transport: bàsic

ansible_winrm_port: 5985

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

Pas 5: configureu els servidors de Windows per gestionar-los

Obriu el dispositiu elèctric de Windows i actualitzeu-lo. Heu de tenir Powershell 3.0 i .NET Framework 4.0 presents a la màquina Windows.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/jborean93/ansible-windows/master/scripts/Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ fitxer = "$ env: temp \ Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ username = "ansible"
PS C: \ WINDOWS \ system32> $ contrasenya = "ansible"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutionPolicy -ExecutionPolicy Unrestrict–Force
PS C: \ WINDOWS \ system32> &$ file -Version 5.1 -Username $ username -Password $ contrasenya -Verbose

Per configurar WinRM en un sistema de Windows amb ansible, ansible ha proporcionat un script de configuració remota. Executeu l’script al PowerShell.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
PS C: \ WINDOWS \ system32> $ fitxer = "$ 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 $ fitxer
PS C: \ WINDOWS \ system32> winrm enumera winrm / config / Listener

Oient
Adreça = *
Transport = HTTP
Port = 5985
Nom d’amfitrió
Habilitat = true
URLPrefix = wsman

CertificateThprintprint
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

Oient
Adreça = *
Transport = HTTPS
Port = 5986
Nom d’amfitrió = DESKTOP-2L8QMI6
Habilitat = 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

Definiu winrm per permetre el trànsit HTTP.

PS C: \ WINDOWS \ system32> winrm conjunt winrm / config / service ‘@ {AllowUnencrypted ="cert"} ‘
Servei
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
Connexions màximes = 300

MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
Auth
Bàsic = cert
Kerberos = cert
Negociar = cert
Certificat = fals
CredSSP = fals

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

EnableCompatibilityHttpListener = fals

EnableCompatibilityHttpsListener = fals

CertificateThprintprint
AllowRemoteAccess = true

Definiu l’autenticació en bàsic en confirmació.

PS C: \ WINDOWS \ system32> winrm conjunt winrm / config / service / auth ‘@ {Basic ="cert"} ‘
Auth
Bàsic = cert
Kerberos = cert
Negociar = cert
Certificat = fals
CredSSP = fals
CbtHardeningLevel = Relaxat

Pas 6: Prova la connectivitat amb el servidor de Windows

Ara es fan tots els passos de la màquina. Aneu a la màquina del controlador ansible i feu clic a la màquina del servidor de Windows mitjançant el mòdul win_ping ansible.

[correu electrònic protegit]: ~ $ ansible guanyar -m win_ping
192.168.0.102 | ÈXIT => {

"canviat": fals,
"ping": "piolet"
}

El missatge d’èxit mostra que s’ha establert la connexió. Ara, el sistema Windows està a punt per administrar-se de forma remota des de l’Antible executant a Ubuntu.

Tags:

  • Ansible

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