Manu

馃摝Jak zainstalowa膰 i skonfigurowa膰 Ansible na Debianie i zarz膮dza膰 Windows

Instalacja Ansible i po艂膮czenie z Windows

馃幆 Cel

W tym poradniku nauczysz si臋 jak:

  • ✅ Zainstalowa膰 Ansible na Debianie (np. VirtualBox/WSL),
  • 馃敆 Po艂膮czy膰 si臋 z lokalnym systemem Windows,
  • ▶️ Uruchamia膰 skrypty (playbooki) Ansible,

馃О Wymagania wst臋pne

  • 馃摝 Masz zainstalowanego Debiana (VM lub WSL).
  • 馃枼 Masz lokalnego Windowsa.
  • 馃寪 Oba systemy widz膮 si臋 w sieci (ping dzia艂a).

馃惂 Krok 1: Instalacja Ansible w Debianie

sudo apt update
sudo apt install python3-pip python3-venv -y

Utw贸rz 艣rodowisko wirtualne:

python3 -m venv ~/ansible-venv
source ~/ansible-venv/bin/activate
pip install ansible pywinrm

馃 Tip: utw贸rz alias do aktywacji 艣rodowiska:

echo 'alias ansibleenv="source ~/ansible-venv/bin/activate"' >> ~/.bashrc
source ~/.bashrc

馃梻 Krok 2: Foldery projektu

mkdir ~/ansible-windows
cd ~/ansible-windows

W tym folderze b臋d膮:

  • hosts.ini – lista maszyn Windows,
  • playbook.yml – zadania do wykonania.

馃搫 Krok 3: Plik hosts.ini

[windows]
192.168.1.100  # To jest przyk艂adowy adres IP do celu 膰wiczenia

[windows:vars]
ansible_user=Administrator
ansible_password=TwojeHaslo
ansible_connection=winrm
ansible_winrm_transport=basic
ansible_winrm_server_cert_validation=ignore

馃攼 Krok 4: Konfiguracja Windows (PowerShell)

$hostname = hostname
$certificate = New-SelfSignedCertificate -DnsName $hostname -CertStoreLocation Cert:\LocalMachine\My
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

Super, widz臋 jakie艣 dziwne rzeczy powy偶ej ale co to jest i co robi? Postaram si臋 wyja艣ni膰 w prosty spos贸b o co chodzi.

Wyobra藕 sobie, 偶e Tw贸j komputer z Windowsem to tak jakby zamek, a Ty chcesz m贸c nim troch臋 sterowa膰 na odleg艂o艣膰, albo pozwoli膰 komu艣 zaufanemu (na przyk艂ad administratorowi IT) na zdalne zarz膮dzanie nim. Ten "krok" to instrukcja dla Twojego komputera, jak si臋 do tego przygotowa膰, aby to zdalne sterowanie by艂o mo偶liwe i bezpieczne.

Ten kod powy偶ej uruchamiany w narz臋dziu zwanym PowerShell (to taka specjalna "konsola" z komendami dla Windowsa) robi po kolei kilka rzeczy:

1. `$hostname = hostname`

Co to robi: Komputer sprawdza, jak si臋 nazywa. Ka偶dy komputer w sieci ma swoj膮 unikaln膮 "nazw臋", tak jak Ty masz imi臋. Ta komenda po prostu "zapami臋tuje" t臋 nazw臋.

Po co: Ta nazwa b臋dzie potrzebna do kolejnych krok贸w, aby komputer wiedzia艂, jaki certyfikat sobie wyda膰.

2. `New-SelfSignedCertificate`

Co to robi: Tw贸j komputer tworzy sobie tak膮 jakby "cyfrow膮 legitymacj臋" (certyfikat bezpiecze艅stwa). Jest to certyfikat "samo-podpisany", czyli komputer sam sobie go wystawi艂.

Po co: Potrzebne do bezpiecznej komunikacji z innymi komputerami.

3. `winrm set winrm/config`

Co to robi: W艂膮cza mo偶liwo艣膰 zdalnego zarz膮dzania przez us艂ug臋 WinRM.

Po co: To jakby otwarcie konkretnych "drzwi", przez kt贸re b臋dzie mo偶na wysy艂a膰 polecenia z zewn膮trz.

4. `winrm set winrm/config/service/auth`

Co to robi: W艂膮cza autoryzacj臋 podstawow膮 – u偶ytkownik musi poda膰 login i has艂o.

Po co: Wzmacnia bezpiecze艅stwo – nie ka偶dy mo偶e si臋 po艂膮czy膰.

5. `winrm set winrm/config/client`

Co to robi: Pozwala na po艂膮czenie z dowolnego hosta.

Po co: U艂atwia po艂膮czenie w 艣rodowisku testowym. UWAGA: To niebezpieczne w 艣rodowisku produkcyjnym.

6. `netsh advfirewall`

Co to robi: Otwiera zapor臋 sieciow膮 dla po艂膮cze艅 WinRM.

Po co: Bez tego po艂膮czenie z zewn膮trz mog艂oby by膰 zablokowane.

Ten kod przygotowuje Tw贸j komputer z Windowsem do zdalnego zarz膮dzania. Tworzy dla niego cyfrow膮 "legitymacj臋", w艂膮cza specjalny system do zdalnych po艂膮cze艅, ustawia podstawowe zabezpieczenia (logowanie has艂em) i otwiera dla niego "furtk臋" w wbudowanej ochronie komputera. Jednak krok z TrustedHosts="*" to taka "szeroko otwarta furtka", kt贸ra w rzeczywisto艣ci, poza specjalnymi, kontrolowanymi sytuacjami, nie jest zalecana ze wzgl臋d贸w bezpiecze艅stwa!

馃搼 Krok 5: Playbook

Stw贸rz plik playbook.yml z zawarto艣ci膮:

- name: Sprawd藕 status us艂ugi Windows
  hosts: windows
  tasks:
    - name: Sprawd藕 us艂ug臋 Windows Update
      win_service:
        name: wuauserv
      register: wynik

- name: Wy艣wietl status
  debug:
    var: wynik

▶️ Krok 6: Uruchomienie playbooka

ansible-playbook -i hosts.ini playbook.yml

馃И Krok 7: Test po艂膮czenia

ansible windows -i hosts.ini -m win_ping

✅ Je艣li zobaczysz pong – wszystko dzia艂a!

馃挕 Dodatkowe wskaz贸wki

  • Nie u偶ywaj localhost, tylko prawdziwy IP Windowsa.
  • Trzymaj pliki w jednym katalogu (~/ansible-windows).
  • Je艣li korzystasz z WSL – upewnij si臋, 偶e firewall na Windows pozwala na WinRM.

馃帗 Masz pytania? Chcesz kolejny tutorial?
Daj zna膰! Ten poradnik jest dla Ciebie 馃挋

Brak komentarzy:

Prze艣lij komentarz