Bagaimana Cara Menghubungkan Ansible di Windows dari Ubuntu?

Biarkan saya cepat menunjukkan kepada Anda bagaimana menghubungkan server Windows dari Ansible berjalan di Ubuntu.


Untuk mengikuti langkah-langkah di bawah ini, Anda harus memiliki python 3.x dan Ansible diinstal pada kedua sistem. Anda dapat mengikuti artikel di bawah ini jika Anda memerlukan bantuan.

Cara Memasang dan Mengkonfigurasi Ansible di Ubuntu?

Cara menginstal Ansible di Windows?

Berikut adalah detail dari kedua server yang saya gunakan:

  • Ansible Controller – 192.168.0.108
  • Windows Server – 192.168.0.102

Langkah 1: Buat Pengguna Windows yang Mungkin

Buat pengguna baru untuk pengaturan koneksi Windows yang memungkinkan.

  • Buka Manajemen Komputer pada sistem Windows Anda dan pergi ke Pengguna dan Grup Lokal.
  • Klik kanan pada Pengguna dan buat pengguna baru.
  • Pilih Kata Sandi tidak pernah kedaluwarsa dan klik buat.

pengguna yang memungkinkan

  • Sekarang di antara grup yang tersedia, klik kanan pada grup Administrator dan klik pada properti.
  • Klik Tambah dan masukkan nama objek yang mungkin.
  • Klik opsi centang nama dan kemudian OK.

kelompok yang memungkinkan

Sekarang, pengguna yang mungkin menggunakan mesin windows sudah siap.

Langkah 2: Atur Perpustakaan dan WinRM

Pergi ke mesin pengontrol yang ada, perbarui, dan instal perpustakaan yang disebutkan di bawah ini.

[dilindungi email]: ~ $ sudo apt-get update
[dilindungi email]: ~ $ sudo apt-get install gcc python-dev
[dilindungi email]: ~ $ sudo apt install python3-pip

WinRM singkatan dari manajemen jarak jauh windows. Ini memungkinkan Anda untuk melakukan tugas manajemen pada sistem windows jarak jauh. Kami akan menginstal python3-winrm, klien python yang digunakan untuk membuat koneksi ke sistem windows.

[dilindungi email]: ~ $ sudo apt-get install python3-winrm
Membaca daftar paket … Selesai
Membangun pohon ketergantungan
Membaca informasi keadaan … Selesai
Paket-paket berikut secara otomatis diinstal dan tidak lagi diperlukan:
gyp libc-ares2 libhttp-parser2.8 libjs-async libjs-inherits libjs-is-typedarray libjs-node-uuid libuv1 libuv1-dev node-singkatanv 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

simpul-validasi-npm-paket-lisensi simpul-wcwidth.js simpul-simpul-yang-modul-simpul-selaras-simpul-bungkus-ansi simpul-simpul-y18
node-yallist node-yargs node-yargs-parser nodejs nodejs-doc
Gunakan ‘sudo apt autoremove’ untuk menghapusnya.
Paket tambahan berikut akan diinstal:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-request-ntlm python3-xmltodict
Paket BARU berikut ini akan diinstal:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-request-ntlm python3-winrm python3-xmltodict
0 ditingkatkan, 6 baru dipasang, 0 untuk dihapus dan 231 tidak ditingkatkan.
Perlu mendapatkan arsip 84,8 kB.
Setelah operasi ini, 442 kB ruang disk tambahan akan digunakan.
Apakah Anda ingin melanjutkan? [Y / n] Y
Dapatkan: 1 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-kerberos amd64 1.1.14-1build1 [16.8 kB]
Dapatkan: 2 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-ntlm-auth all 1.1.0-1 [19.6 kB]
Dapatkan: 3 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-request-kerberos all 0.11.0-2 [10.1 kB]
Dapatkan: 4 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-request-ntlm all 1.1.0-1 [6.004 B]
Dapatkan: 5 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-xmltodict all 0.11.0-2 [10.6 kB]
Dapatkan: 6 http://old-releases.ubuntu.com/ubuntu cosmic / universe amd64 python3-winrm all 0.3.0-2 [21.7 kB]
Diambil 84,8 kB dalam 1d (70,3 kB / dt)
Memilih paket python3-kerberos yang sebelumnya tidak dipilih.
(Membaca basis data … 244430 file dan direktori sedang diinstal.)
Bersiap membongkar … / 0-python3-kerberos_1.1.14-1build1_amd64.deb …
Membongkar python3-kerberos (1.1.14-1build1) …
Memilih paket yang sebelumnya tidak dipilih python3-ntlm-auth.
Memilih paket python3-xmltodict yang sebelumnya tidak dipilih.
Bersiap membongkar … / 4-python3-xmltodict_0.11.0-2_all.deb …
Membongkar python3-xmltodict (0.11.0-2) …
Memilih paket python3-winrm yang sebelumnya tidak dipilih.
Bersiap untuk membongkar … / 5-python3-winrm_0.3.0-2_all.deb …
Membongkar python3-winrm (0.3.0-2) …
Menyiapkan python3-kerberos (1.1.14-1build1) …
Menyiapkan python3-winrm (0.3.0-2) …

Langkah 3: Perbarui file Inventaris yang Mungkin Ada

Sekarang, saya akan mengedit file host yang mungkin dengan alamat IP sistem windows. Jadi sekarang semua orang akan tahu sistem windows mana yang perlu disambungkan.

[dilindungi email]: ~ $ sudo gedit / etc / ansible / hosts

[menang]
192.168.0.102

Langkah 4: Perbarui Variabel Grup yang Mungkin

Buat direktori untuk meletakkan variabel yang perlu disambungkan ke sistem windows.

[dilindungi email]: ~ $ mkdir / etc / ansible / group_vars
[dilindungi email]: ~ $ sudo chmod -R 777 / etc / ansible /

Buat file win.yaml dan letakkan detail pengguna yang Anda buat di langkah pertama dan beberapa variabel lagi yang diperlukan untuk terhubung ke sistem windows.

[dilindungi email]: ~ $ gedit /etc/ansible/group_vars/win.yaml

ansible_user: ansible

ansible_password: ansible

ansible_connection: winrm

ansible_winrm_server_cert_validation: abaikan

ansible_winrm_transport: basic

ansible_winrm_port: 5985

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

Langkah 5: Mengkonfigurasi Server Windows untuk Mengelola

Buka catu daya windows Anda dan tingkatkan. Anda harus memiliki Powershell 3.0 dan .NET Framework 4.0 di mesin 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 = "mungkin"
PS C: \ WINDOWS \ system32> $ password = "mungkin"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutionPolicy -ExecutionPolicy Tidak Terbatas -Force
PS C: \ WINDOWS \ system32> &$ file -Version 5.1 -Username $ username -Password $ password -Verbose

Untuk mengkonfigurasi WinRM pada sistem Windows dengan ansible, skrip konfigurasi jarak jauh telah disediakan oleh ansible. Jalankan skrip di 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 menghitung winrm / config / Listener

Pendengar
Alamat = *
Transport = HTTP
Port = 5985
Nama host
Diaktifkan = benar
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

Pendengar
Alamat = *
Transport = HTTPS
Port = 5986
Hostname = DESKTOP-2L8QMI6
Diaktifkan = benar
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

Tetapkan winrm untuk mengizinkan lalu lintas HTTP.

PS C: \ WINDOWS \ system32> winrm atur winrm / config / service ‘@ {AllowUnencrypted ="benar"} ‘
Layanan
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 = benar
Bernegosiasi = benar
Sertifikat = salah
CredSSP = false

CbtHardeningLevel = Santai
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *

EnableCompatibilityHttpListener = false

EnableCompatibilityHttpsListener = false

CertificateThumbprint
AllowRemoteAccess = true

Setel otentikasi ke dasar di konfirmasi.

PS C: \ WINDOWS \ system32> winrm atur winrm / config / service / auth ‘@ {Basic ="benar"} ‘
Auth
Basic = true
Kerberos = benar
Bernegosiasi = benar
Sertifikat = salah
CredSSP = false
CbtHardeningLevel = Santai

Langkah 6: Uji Konektivitas ke Windows Server

Sekarang semua langkah di mesin sudah selesai. Pergi ke mesin pengontrol yang tersedia dan ping mesin server windows menggunakan win_ping modul yang mungkin.

[dilindungi email]: ~ $ win win-m yang dimungkinkan
192.168.0.102 | SUKSES => {

"berubah": Salah,
"ping": "pong"
}

Pesan sukses menunjukkan bahwa koneksi telah dibuat. Sekarang, sistem windows siap untuk dikelola dari jarak jauh dari Ansible yang berjalan di Ubuntu.

TAGS:

  • Mungkin

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