Как подключить Ansible на Windows из Ubuntu?

Позвольте мне быстро показать вам, как подключить сервер Windows от Ansible, работающей в Ubuntu..


Чтобы выполнить следующие шаги, вам нужно установить Python 3.x и Ansible в обеих системах. Вы можете следовать приведенным ниже статьям, если вам нужна помощь.

Как установить и настроить Ansible в Ubuntu?

Как установить Ansible на Windows?

Ниже приведены подробности обо всех серверах, которые я использую:

  • Ansible Controller – 192.168.0.108
  • Windows Server – 192.168.0.102

Шаг 1: Создание Ansible Windows User

Создайте нового пользователя для настройки подключения Ansible Windows.

  • Откройте «Управление компьютером» в своей системе Windows и перейдите в раздел «Местные пользователи и группы».
  • Щелкните правой кнопкой мыши «Пользователи» и создайте нового пользователя..
  • Установите флажок «Никогда не истекает» и нажмите «Создать».

ответственный пользователь

  • Теперь среди доступных групп щелкните правой кнопкой мыши группу «Администраторы» и выберите «Свойства»..
  • Нажмите на кнопку Добавить и введите ansible в именах объектов..
  • Нажмите на опцию проверки имен, а затем ОК.

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

Теперь готовый пользователь на машине с Windows готов.

Шаг 2: Настройка библиотек и WinRM

Перейдите на ваш компьютер контроллера ansible, обновите его и установите библиотеки, указанные ниже..

[Электронная почта защищена]: ~ $ sudo apt-get update
[Электронная почта защищена]: ~ $ sudo apt-get установить gcc python-dev
[Электронная почта защищена]: ~ $ sudo apt установить python3-pip

WinRM означает удаленное управление Windows. Это позволяет выполнять задачи управления в удаленных системах Windows. Мы установим python3-WinRM, клиент Python, который используется для подключения к системе Windows.

[Электронная почта защищена]: ~ $ sudo apt-get установить python3-winrm
Чтение списков пакетов … Готово
Построение дерева зависимостей
Чтение информации о состоянии … Готово
Следующие пакеты были установлены автоматически и больше не требуются:
gyp libc-ares2 libhttp-parser2.8 libjs-async libjs-наследует libjs-is-typedarray libjs-node-uuid libuv1 libuv1-dev узел-аббревиатура node-ajv
нода-анси нода-анси-таблица цветов

node-validate-npm-package-license node-wcwidth.js узел-какой узел-какой-модуль-узел-выровнять узел-wrap-ansi узел-обертка узел-y18n
нод-yallist нод-yargs нод-yargs-парсер нодjs нодjs-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 кБ архивов.
После этой операции будет использовано 442 КБ дополнительного дискового пространства..
Вы хотите продолжить? [Да / Нет] Да
Получить: 1 http://old-releases.ubuntu.com/ubuntu космический / вселенная amd64 python3-kerberos amd64 1.1.14-1build1 [16,8 кБ]
Получить: 2 http://old-releases.ubuntu.com/ubuntu космический / вселенная amd64 python3-ntlm-auth все 1.1.0-1 [19,6 кБ]
Получить: 3 http://old-releases.ubuntu.com/ubuntu космический / вселенная amd64 python3-запросы-kerberos все 0.11.0-2 [10.1 кБ]
Получить: 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 кБ]
Получить: 6 http://old-releases.ubuntu.com/ubuntu космический / вселенная amd64 python3-winrm все 0.3.0-2 [21.7 кБ]
Получено 84,8 кБ за 1 с (70,3 кБ / с)
Выбор ранее не выбранного пакета 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 Inventory

Теперь я отредактирую файл ansible hosts с IP-адресом системы Windows. Так что теперь ansible будет знать, к какой системе Windows нужно подключиться.

[Электронная почта защищена]: ~ $ sudo gedit / etc / ansible / hosts

[выиграть]
192.168.0.102

Шаг 4. Обновите переменные группы Ansible

Создать каталог для размещения переменных, необходимо подключиться к системе Windows.

[Электронная почта защищена]: ~ $ mkdir / etc / ansible / group_vars
[Электронная почта защищена]: ~ $ sudo chmod -R 777 / etc / 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 Power Shell и обновите его. Вы должны иметь 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> $ file = "$ ENV: TEMP \ Upgrade-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ username = "анзибль"
PS C: \ WINDOWS \ system32> $ пароль = "анзибль"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutionPolicy -ExecutionPolicy Неограниченный -Force
PS C: \ WINDOWS \ system32> &$ file -Version 5.1 -Username $ username -Password $ password -Verbose

Для настройки 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> $ 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 $ file
PS C: \ WINDOWS \ system32> winrm перечисляет winrm / config / Listener

слушатель
Адрес = *
Транспорт = HTTP
Порт = 5985
Hostname
Включено = верно
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

слушатель
Адрес = *
Транспорт = HTTPS
Порт = 5986
Имя хоста = DESKTOP-2L8QMI6
Включено = верно
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

Установите 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
Auth
Basic = true
Kerberos = правда
Вести переговоры = верно
Сертификат = ложь
CredSSP = ложь

CbtHardeningLevel = расслабленный
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *

EnableCompatibilityHttpListener = false

EnableCompatibilityHttpsListener = false

CertificateThumbprint
AllowRemoteAccess = true

Установите базовую аутентификацию в wirm.

PS C: \ WINDOWS \ system32> winrm set winrm / config / service / auth ‘@ {Basic ="правда"}»
Auth
Basic = true
Kerberos = правда
Вести переговоры = верно
Сертификат = ложь
CredSSP = ложь
CbtHardeningLevel = расслабленный

Шаг 6. Проверка подключения к Windows Server

Теперь все шаги на машине выполнены. Перейдите на компьютер контроллера ansible и пропингуйте компьютер сервера Windows с помощью модуля ansible win_ping.

[Электронная почта защищена]: ~ $ ansible win -m win_ping
192.168.0.102 | УСПЕХ => {

"изменено": ложный,
"пинг": "понг"
}

Сообщение об успешном завершении показывает, что соединение установлено. Теперь система Windows готова к удаленному администрированию с Ansible, работающего в Ubuntu..

TAGS:

  • анзибль

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