Как да свържете Ansible в Windows от Ubuntu?

Позволете ми бързо да ви покажа как да свържете Windows сървъра от Ansible, работещ на Ubuntu.


За да следвате стъпките по-долу, трябва да имате инсталиран python 3.x и Ansible и в двете системи. Можете да следвате статиите по-долу, ако имате нужда от помощ.

Как да инсталирате и конфигурирате отговор в Ubuntu?

Как да инсталирате Ansible на Windows?

По-долу са описани подробностите за двата сървъра, които използвам:

  • Контролер за отговор – 192.168.0.108
  • Windows Server – 192.168.0.102

Стъпка 1: Създайте отговарящ потребител на Windows

Създайте нов потребител за настройката на връзката Ansible Windows.

  • Отворете Компютърно управление на вашата Windows система и отидете на Местни потребители и групи.
  • Щракнете с десния бутон върху Потребители и създайте нов потребител.
  • Поставете отметка в квадратчето Паролата никога не изтича и кликнете върху създаване.

Ansible потребител

  • Сега сред наличните групи кликнете с десния бутон на мишката върху групата Администратори и щракнете върху свойства.
  • Кликнете върху Добавяне и въведете ansible в имената на обекти.
  • Щракнете върху опцията за имена за проверка и след това Ок.

асибилни групи

Сега, годен потребител на Windows машина е готов.

Стъпка 2: Настройка на библиотеки и WinRM

Отидете до вашата машина за отговорни контролери, актуализирайте я и инсталирайте посочените по-долу библиотеки.

[Имейл защитен]: ~ $ sudo apt-get update
[Имейл защитен]: ~ $ sudo apt-get install gcc python-dev
[Имейл защитен]: ~ $ sudo apt инсталирайте python3-pip

WinRM означава дистанционно управление на Windows. Тя ви позволява да изпълнявате задачи за управление на отдалечени Windows системи. Ще инсталираме python3-WinRM, клиент python, който се използва за осъществяване на връзка със системата Windows.

[Имейл защитен]: ~ $ sudo apt – вземете инсталирайте python3-winrm
Четене на списъци с пакети … Готово
Изграждане на дърво на зависимостта
Четене на информация за състоянието … Готово
Следните пакети са инсталирани автоматично и вече не се изискват:
gyp libc-ares2 libhttp-parser2.8 libjs-async libjs-наследява libjs-is-typedarray libjs-node-uuid libuv1 libuv1-dev node-skrav 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-валидиране-npm-пакет-лиценз node-wcwidth.js node-кой възел-кой-модул node-подравняване node-wrap-ansi node-wrappy node-y18n
node-yallist node-yargs node-yargs-анализатор nodejs nodejs-doc
Използвайте ‘sudo apt autoremove’, за да ги премахнете.
Следните допълнителни пакети ще бъдат инсталирани:
python3-kerberos python3-ntlm-auth python3-искания-kerberos python3-искания-ntlm python3-xmltodict
Следните нови пакети ще бъдат инсталирани:
python3-kerberos python3-ntlm-auth python3-искания-kerberos python3-искания-ntlm python3-winrm python3-xmltodict
0 надстроени, 6 ново инсталирани, 0 за премахване и 231 не надстроени.
Трябва да получите 84,8 kB архиви.
След тази операция ще бъдат използвани 442 kB допълнително дисково пространство.
Искаш ли да продължиш? [Y / n] Y
Вземете: 1 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-kerberos amd64 1.1.14-1build1 [16.8 kB]
Вземете: 2 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-ntlm-auth всички 1.1.0-1 [19.6 kB]
Вземете: 3 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-искания-kerberos всички 0.11.0-2 [10.1 kB]
Вземете: 4 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-искания-ntlm всички 1.1.0-1 [6,004 B]
Вземете: 5 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-xmltodict всички 0.11.0-2 [10.6 kB]
Вземете: 6 http://old-releases.ubuntu.com/ubuntu космически / вселената amd64 python3-winrm всички 0.3.0-2 [21.7 kB]
Извлечени 84,8 kB за 1 секунди (70,3 kB / s)
Избор на по-рано неизбран пакет python3-kerberos.
(Четене на база данни … 244430 файлове и директории в момента са инсталирани.)
Подготовка за разопаковане … / 0-python3-kerberos_1.1.14-1build1_amd64.deb …
Разопаковане на python3-kerberos (1.1.14-1build1) …
Избиране на неизбран преди това пакет python3-ntlm-auth.
Избор на по-рано неизбран пакет python3-xmltodict.
Подготовка за разопаковане … / 4-python3-xmltodict_0.11.0-2_all.deb …
Разопаковане на python3-xmltodict (0.11.0-2) …
Избиране на неизбран преди това пакет python3-winrm.
Подготовка за разопаковане … / 5-python3-winrm_0.3.0-2_all.deb …
Разопаковане на python3-winrm (0.3.0-2) …
Настройка на python3-kerberos (1.1.14-1build1) …
Настройка на python3-winrm (0.3.0-2) …

Стъпка 3: Актуализирайте файла с инвентаризацията на отговори

Сега ще редактирам файла ansible hosts с IP адреса на системата Windows. Така че сега ansible ще знае коя Windows система трябва да свърже.

[Имейл защитен]: ~ $ sudo gedit / etc / ansible / hosts

[печеля]
192.168.0.102

Стъпка 4: Актуализирайте променливите на групата отговори

Създайте директория за поставяне на променливи, които трябва да се свържат със системата Windows.

[Имейл защитен]: ~ $ mkdir / и т.н. / ansible / group_vars
[Имейл защитен]: ~ $ sudo chmod -R 777 / и т.н. / ansible /

Създайте файл win.yaml и поставете потребителските детайли, които сте създали в първата стъпка и още няколко променливи, необходими за свързване към Windows системата.

[Имейл защитен]: ~ $ gedit /etc/ansible/group_vars/win.yaml

ansible_user: ansible

ansible_password: ansible

ansible_connection: winrm

ansible_winrm_server_cert_validation: игнорирайте

ansible_winrm_transport: основен

ansible_winrm_port: 5985

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

Стъпка 5: Конфигурирайте Windows сървъри за управление

Отворете вашата електрическа обвивка на Windows и го надстройте. Трябва да имате Powershell 3.0 и .NET Framework 4.0 на Windows машината.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/jborean93/ansible-windows/master/scripts/Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ файл = "$ Околна среда: температура \ Подобрете-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ username = "ansible"
PS C: \ WINDOWS \ system32> $ password = "ansible"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
PS C: \ WINDOWS \ system32> &$ file -Version 5.1 -Име на потребител $ потребител -Пасс $ парола -Вербоза

За конфигуриране на WinRM на Windows система с ansible е предоставен скрипт за отдалечена конфигурация от ansible. Изпълнете скрипта в PowerShell.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
PS C: \ WINDOWS \ system32> $ файл = "$ Околна среда: температура \ ConfigureRemotingForAnsible.ps1"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> powershell.exe -ExecutionPolicy ByPass -File $ файл
PS C: \ WINDOWS \ system32> winrm изброява winrm / config / слушател

слушател
Адрес = *
Транспорт = HTTP
Пристанище = 5985
Име на хост
Активирано = вярно
URLPrefix = wsman

CertificateThumbprint
СлушанеOn = 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

слушател
Адрес = *
Транспорт = HTTPS
Порт = 5986
Име на хост = DESKTOP-2L8QMI6
Активирано = вярно
URLPrefix = wsman

CertificateThumbprint = C83B3FC8B274D0B650F0FD647DC7AC129BBE3FA0
СлушанеOn = 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

Задайте winrm, за да разрешите HTTP трафик.

PS C: \ WINDOWS \ system32> winrm set winrm / config / service ‘@ {AllowUnencrypted ="вярно"} “
Обслужване
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
MaxConnections = 300

MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
упълномощаване
Основен = вярно
Керберос = вярно
Договаряне = вярно
Сертификат = невярно
CredSSP = невярно

CbtHardeningLevel = Спокоен
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *

EnableCompatibilityHttpListener = false

EnableCompatibilityHttpsListener = false

CertificateThumbprint
AllowRemoteAccess = true

Задайте автентичността на basic в wirm.

PS C: \ WINDOWS \ system32> winrm set winrm / config / service / auth ‘@ {Basic ="вярно"} “
упълномощаване
Основен = вярно
Керберос = вярно
Договаряне = вярно
Сертификат = невярно
CredSSP = невярно
CbtHardeningLevel = Спокоен

Стъпка 6: Тествайте свързаността със Windows Server

Сега всички стъпки на машината са направени. Отидете до машината на ansible контролер и ping на Windows сървъра машина с помощта на win_ping Ansible модул.

[Имейл защитен]: ~ $ ansible win -m win_ping
192.168.0.102 | УСПЕХ => {

"променен": невярно,
"пинг": "понг"
}

Съобщението за успех показва, че връзката е установена. Сега системата Windows е готова да бъде администрирана дистанционно от Ansible, работещ в Ubuntu.

ЕТИКЕТИ:

  • 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