Làm cách nào để kết nối Ansible trên Windows từ Ubuntu?

Hãy để tôi nhanh chóng chỉ cho bạn cách kết nối máy chủ Windows từ Ansible chạy trên Ubuntu.


Để làm theo các bước dưới đây, bạn cần cài đặt python 3.x và Ansible trên cả hai hệ thống. Bạn có thể làm theo các bài viết dưới đây nếu bạn cần giúp đỡ.

Cách cài đặt và cấu hình Ansible trên Ubuntu?

Cách cài đặt Ansible trên Windows?

Dưới đây là chi tiết của cả hai máy chủ tôi đang sử dụng:

  • Bộ điều khiển Ansible – 192.168.0.108
  • Máy chủ Windows – 192.168.0.102

Bước 1: Tạo người dùng Windows Ansible

Tạo người dùng mới cho thiết lập kết nối cửa sổ Ansible.

  • Mở Quản lý máy tính trên hệ thống Windows của bạn và đi đến Nhóm và người dùng cục bộ.
  • Nhấp chuột phải vào Người dùng và tạo người dùng mới.
  • Chọn Mật khẩu không bao giờ hết hạn hộp kiểm và nhấp vào tạo.

người dùng ansible

  • Bây giờ trong số các nhóm có sẵn, nhấp chuột phải vào nhóm Quản trị viên và nhấp vào thuộc tính.
  • Nhấp vào Thêm và nhập ansible trong tên đối tượng.
  • Nhấp vào tùy chọn tên kiểm tra và sau đó Ok.

nhóm ansible

Bây giờ, một người dùng ansible trên máy tính windows đã sẵn sàng.

Bước 2: Thiết lập thư viện và WinRM

Chuyển đến máy điều khiển ansible của bạn, cập nhật nó và cài đặt các thư viện được đề cập dưới đây.

[email được bảo vệ]: ~ $ sudo apt-get cập nhật
[email được bảo vệ]: ~ $ sudo apt-get cài đặt gcc python-dev
[email được bảo vệ]: ~ $ sudo apt cài đặt python3-pip

WinRM là viết tắt của quản lý từ xa windows. Nó cho phép bạn thực hiện các nhiệm vụ quản lý trên các hệ thống cửa sổ từ xa. Chúng tôi sẽ cài đặt python3-winrm, một máy khách python được sử dụng để tạo kết nối với hệ thống windows.

[email được bảo vệ]: ~ $ sudo apt-get cài đặt python3-winrm
Đọc danh sách gói … Xong
Xây dựng cây phụ thuộc
Đọc thông tin trạng thái … Xong
Các gói sau đã được cài đặt tự động và không còn cần thiết:
gyp libc-ares2 libhttp-Parser2.8 libjs-async libjs-thừa kế libjs-is-typedarray libjs-node-uuid libuv1 libuv1-dev nút-rút nút-ajv
nút-ansi node-ansi-color-bảng node-ansi-regex node-ansi-style node-ansiststyle node-aproba node-archy node-are-we-there-yet node-async

nút-validate-npm-gói-giấy phép nút-wc rắc.js nút-nút-nút-mô-đun-nút-rộng-align nút-quấn-ansi nút-Wrappy node-y18n
node-yallist node-yargs node-yargs-Parser nodejs nodejs-doc
Sử dụng ‘sudo apt autoremove’ để xóa chúng.
Các gói bổ sung sau sẽ được cài đặt:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-request-ntlm python3-xmltodict
Các gói MỚI sau đây sẽ được cài đặt:
python3-kerberos python3-ntlm-auth python3-request-kerberos python3-request-ntlm python3-winrm python3-xmltodict
0 được nâng cấp, 6 cài đặt mới, 0 để gỡ bỏ và 231 không được nâng cấp.
Cần lấy 84,8 kB tài liệu lưu trữ.
Sau thao tác này, sẽ sử dụng 438 kB dung lượng đĩa bổ sung.
Bạn có muốn tiếp tục? [Y / n] Y
Nhận: 1 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-kerberos amd64 1.1.14-1build1 [16.8 kB]
Nhận: 2 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-ntlm-auth tất cả 1.1.0-1 [19.6 kB]
Nhận: 3 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-request-kerberos tất cả 0.11.0-2 [10.1 kB]
Nhận: 4 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-request-ntlm tất cả 1.1.0-1 [6,004 B]
Nhận: 5 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-xmltodict tất cả 0.11.0-2 [10.6 kB]
Nhận: 6 http://old-release.ubfox.com/ubfox vũ trụ / vũ trụ amd64 python3-winrm tất cả 0.3.0-2 [21.7 kB]
Đã tải 84,8 kB sau 1 giây (70,3 kB / s)
Chọn gói python3-kerberos chưa được chọn trước đó.
(Đọc cơ sở dữ liệu … 244430 tệp và thư mục hiện được cài đặt.)
Chuẩn bị giải nén … / 0-python3-kerberos_1.1.14-1build1_amd64.deb …
Giải nén python3-kerberos (1.1,14-1build1) …
Chọn gói chưa được chọn trước đó python3-ntlm-auth.
Chọn gói python3-xmltodict chưa được chọn trước đó.
Chuẩn bị giải nén … / 4-python3-xmltodict_0.11.0-2_all.deb …
Giải nén python3-xmltodict (0.11.0-2) …
Chọn gói python3-winrm chưa được chọn trước đó.
Chuẩn bị giải nén … / 5-python3-winrm_0.3.0-2_all.deb …
Giải nén python3-winrm (0.3.0-2) …
Thiết lập python3-kerberos (1.1.14-1build1) …
Thiết lập python3-winrm (0.3.0-2) …

Bước 3: Cập nhật tệp Ansible Inventory

Bây giờ, tôi sẽ chỉnh sửa tệp máy chủ ansible với địa chỉ IP của hệ thống windows. Vì vậy, bây giờ ansible sẽ biết hệ thống cửa sổ nào cần kết nối.

[email được bảo vệ]: ~ $ sudo gedit / etc / ansible / hosts

[thắng lợi]
192.168.0.102

Bước 4: Cập nhật các biến nhóm Ansible

Tạo một thư mục để đặt các biến cần kết nối với hệ thống windows.

[email được bảo vệ]: ~ $ mkdir / etc / ansible / group_vars
[email được bảo vệ]: ~ $ sudo chmod -R 777 / etc / ansible /

Tạo một tệp win.yaml và đặt chi tiết người dùng bạn đã tạo ở bước 1 và thêm vài biến cần thiết để kết nối với hệ thống windows.

[email được bảo vệ]: ~ $ gedit /etc/ansible/group_vars/win.yaml

ansible_user: ansible

ansible_password: ansible

ansible_connection: winrm

ansible_winrm_server_cert_validation: bỏ qua

ansible_winrm_transport: cơ bản

ansible_winrm_port: 5985

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

Bước 5: Cấu hình máy chủ Windows để quản lý

Mở vỏ điện cửa sổ của bạn và nâng cấp nó. Bạn cần phải có Powershell 3.0 và .NET Framework 4.0 trên máy tính windows.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/jborean93/ansible-windows/master/scripts/Upgrad-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ tập tin = "$ env: temp \ Nâng cấp-PowerShell.ps1"
PS C: \ WINDOWS \ system32> $ tên người dùng = "ansible"
PS C: \ WINDOWS \ system32> $ mật khẩu = "ansible"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .D DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> Set-ExecutPolicy -ExecutPolicy Không bị giới hạn -Force
PS C: \ WINDOWS \ system32> &$ file -Version 5.1-Tên người dùng $ username -Password $ password -Verbose

Để định cấu hình WinRM trên hệ thống Windows có khả năng hiển thị, tập lệnh cấu hình từ xa đã được cung cấp bởi ansible. Chạy tập lệnh trong PowerShell.

PS C: \ WINDOWS \ system32> $ url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemoteForAnsible.ps1"
PS C: \ WINDOWS \ system32> $ tập tin = "$ env: temp \ ConfigureRemoteForAnsible.ps1"
PS C: \ WINDOWS \ system32> (New-Object -TypeName System.Net.WebClient) .D DownloadFile ($ url, $ file)
PS C: \ WINDOWS \ system32> powershell.exe -ExecutPolicy ByPass -File $ file
PS C: \ WINDOWS \ system32> liệt kê winrm winrm / config / Listener

Thính giả
Địa chỉ = *
Vận chuyển = HTTP
Cảng = 5985
Tên máy chủ
Đã bật = đúng
URLPrefix = wsman

Giấy chứng nhận
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 :: 550d: d7aa% 22, fe80 :: 88f1: 1229: e1dd: 2409% 16, fe80 :: 99cf: 5796: 4f8e: f5c1% 15, fe80 :: fd77: c19d: e0f2: 66d9% 9

Thính giả
Địa chỉ = *
Vận chuyển = HTTPS
Cổng = 5986
Tên máy chủ = DESKTOP-2L8QMI6
Đã bật = đúng
URLPrefix = wsman

Chứng chỉThông tin = 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 :: 51b 550d: d7aa% 22, fe80 :: 88f1: 1229: e1dd: 2409% 16, fe80 :: 99cf: 5796: 4f8e: f5c1% 15, fe80 :: fd77: c19d: e0f2: 66d9% 9

Đặt winrm để cho phép lưu lượng HTTP.

PS C: \ WINDOWS \ system32> winrm đặt winrm / config / service ‘@ {AllowUnencrypted ="thật"} ‘
Dịch vụ
RootSDDL = O: NSG: BAD: P (A ;; GA ;;; BA) (A ;; GR ;;; IU) S: P (AU; FA; GA ;;; WD) (AU; SA; GXGW; ;; WD)

MaxConcienOperations = 4294967295

MaxConcienOperationsPerUser = 1500

Số đếm thời gian = 240000
MaxConnections = 300

MaxPquetRetrinyTimeSeconds = 120
AllowUnencrypted = true
Xác thực
Cơ bản = đúng
Kerberos = đúng
Thương lượng = đúng
Chứng chỉ = sai
CredSSP = sai

CbtHardeningLevel = Thư giãn
Cổng mặc định
HTTP = 5985
HTTPS = 5986
Bộ lọc IPv4 = *
Bộ lọc IPv6 = *

EnableCompabilitiesHttpListener = false

EnableCompabilitiesHttpsListener = false

Giấy chứng nhận
AllowRemoteAccess = true

Đặt xác thực thành cơ bản trong xác nhận.

PS C: \ WINDOWS \ system32> winrm đặt winrm / config / service / auth ‘@ {Basic ="thật"} ‘
Xác thực
Cơ bản = đúng
Kerberos = đúng
Thương lượng = đúng
Chứng chỉ = sai
CredSSP = sai
CbtHardeningLevel = Thư giãn

Bước 6: Kiểm tra kết nối với Windows Server

Bây giờ tất cả các bước trên máy đã được thực hiện. Đi đến máy điều khiển ansible và ping máy chủ windows bằng mô-đun win_ping ansible.

[email được bảo vệ]: ~ $ ansible win -m win_ping
192.168.0.102 | THÀNH CÔNG => {

"đã thay đổi": sai,
"ping": "pong"
}

Thông báo thành công cho thấy kết nối đã được thiết lập. Giờ đây, hệ thống windows đã sẵn sàng để được quản lý từ xa từ Ansible chạy trên Ubuntu.

THẺ

  • 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