Menu

Konfiguracja certyfikatu i WinRM dla Ansible na Windows

Ten poradnik przeprowadzi Cię krok po kroku przez tworzenie certyfikatu, konfigurację usługi WinRM w systemie Windows oraz test połączenia z Ansible. Idealny dla początkujących. 💡

📜 Krok 1: Utworzenie certyfikatu w PowerShell


$hostname = hostname
$certificate = New-SelfSignedCertificate -DnsName $hostname -CertStoreLocation Cert:\LocalMachine\My
Get-ChildItem -Path Cert:\LocalMachine\My\$($certificate.Thumbprint)
  
Co robi ten kod?
🔹 $hostname = hostname — zapisuje nazwę Twojego komputera do zmiennej.
🔹 New-SelfSignedCertificate — tworzy samopodpisany certyfikat SSL dla lokalnej maszyny.
🔹 Get-ChildItem — wyświetla szczegóły certyfikatu, np. odcisk palca (thumbprint).

⚙️ Krok 2: Konfiguracja WinRM i zapory


winrm set winrm/config '@{Service=@{AllowRemoteManagement="true"}}'
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/client '@{TrustedHosts="*"}'
netsh advfirewall firewall set rule group="Windows Remote Management (HTTP-In)" new enable=yes
  
Co robi ten kod?
🔹 Pierwsze polecenie włącza zdalne zarządzanie przez WinRM.
🔹 Drugie zezwala na uwierzytelnienie metodą Basic (potrzebne dla Ansible).
🔹 Trzecie pozwala na połączenie z dowolnego hosta (na testy).
🔹 netsh advfirewall otwiera porty w zaporze systemu Windows potrzebne do działania WinRM.

🧪 Krok 3: Testowanie usługi WinRM


Test-WsMan
  
Co robi to polecenie?
✅ Sprawdza, czy usługa WinRM działa poprawnie i nasłuchuje na odpowiednim porcie.
Jeśli wszystko jest poprawnie skonfigurowane, powinieneś otrzymać informację o dostępności usługi.
📌 Ważne: Jeśli używasz certyfikatu samopodpisanego (czyli nie pochodzi on z zaufanego centrum certyfikacji), musisz w pliku hosts.ini dopisać:
ansible_winrm_server_cert_validation=ignore
To pozwala Ansible połączyć się mimo braku zaufanego podpisu certyfikatu.

Po tych krokach możesz przejść do uruchamiania playbooków z poziomu Ansible działającego w WSL! 🧑‍💻

Jeżeli jednak nie chce Ci się tego wszystkiego klikać przygotowałem krtóki skrypt Powershell, który w tym pomoże :

Kliknij tutaj, aby przejść do skryptu na GitHubie

Brak komentarzy:

Prześlij komentarz