gamethis.win_openssh
Rola Ansible win_openssh
Instaluje Win32-OpenSSH na hoście Windows.
Uwaga: Ta rola była testowana na Win32-OpenSSH v7.7.2.0p1-Beta, nowsze wersje powinny działać, ale nie ma gwarancji.
Z domyślnymi ustawieniami ta rola wykona:
- Zainstaluje
Win32-OpenSSHwC:\Program Files\OpenSSHna podstawie najnowszej wersji dostępnej w GitHub - Skonfiguruje usługi
sshdissh-agenti ustawi je na automatyczne uruchamianie - Utworzy regułę zapory, która pozwala na ruch przychodzący na porcie
22dla profili siecidomenaiprywatna - Skonfiguruje plik
sshd_config, aby umożliwić uwierzytelnianie za pomocą kluczy publicznych i haseł
Następujące opcje można także skonfigurować jako część roli, ale wymagają ustawienia dodatkowych zmiennych:
- Określić konkretną wersję do pobrania z GitHub lub inny adres URL wskazujący na plik zip
- Określić, gdzie zainstalować pliki binarne
- Kontrolować, czy skonfigurować usługi serwera SSH
- Kontrolować, czy ustawić usługi SSH na automatyczne uruchamianie
- Zdefiniować profile zapory, aby pozwolić na ruch SSH przychodzący
- Określić port i inne wybrane wartości sshd_config
- Dodać klucz publiczny(-e) do profilu bieżącego użytkownika
Wymagania
- Windows Server 2008 R2+
Zmienne
Zmienne obowiązkowe
Brak, ta rola będzie działać z domyślnymi opcjami.
Zmienne opcjonalne
opt_openssh_architecture: Architektura systemu Windows, musi być ustawiona na32lub64(domyślnie:64).opt_openssh_firewall_profiles: Profile zapory, które pozwalają na ruch SSH (domyślnie:domena, prywatna).opt_openssh_install_path: Katalog do instalacji plików binarnych OpenSSH (domyślnie:C:\Program Files\OpenSSH).opt_openssh_pubkeys: String lub lista stringów do dodania do plikuauthorized_keysużytkownika, domyślnie nie będą dodawane żadne klucze. Jeśliopt_openssh_shared_admin_keyjestTrue, klucze te nie będą miały wpływu na uwierzytelnianie dla użytkowników z uprawnieniami administratora.opt_openssh_shared_admin_pubkeys: String lub lista stringów do dodania do pliku kluczyadministrators_authorized_keys.opt_openssh_setup_service: Czy zainstalować komponenty usługi sshd, czy tylko użyć plików wykonywalnych klienta (domyślnie:True).opt_openssh_skip_start: Nie uruchomi usługisshdissh-agentoraz nie ustawi ich na automatyczne uruchamianie (domyślnie:False).opt_openssh_temp_path: Katalog tymczasowy do pobrania pliku zip i wyodrębnionych plików (domyślnie:C:\Windows\TEMP).opt_openssh_url: Ustala lokalizację pobierania pliku zip OpenSSH, jeśli nie zostanie podana, pobierze z repozytorium GitHub.opt_openssh_version: Ustala konkretną wersję do pobrania z GitHub, jest to ważne tylko wtedy, gdyopt_openssh_urlnie jest ustawione (domyślnie:najowsza).opt_openssh_zip_file: Ścieżka do pliku zip wydania OpenSSH, który zostanie użyty do instalacji OpenSSH. Będzie używany zamiastopt_openssh_url, jeśli jest zdefiniowane iopt_openssh_zip_remote_srckontroluje, czy ścieżka jest lokalna dla kontrolera czy lokalna dla hosta Windows.opt_openssh_zip_remote_src: (domyślnie:Fałsz)
Możesz również dostosować następujące wartości sshd_config:
opt_openssh_port: Ustala port, na którym usługa SSH będzie nasłuchiwać (domyślnie:22).opt_openssh_pubkey_auth: Ustala, czy usługa SSH pozwoli na uwierzytelnianie za pomocą kluczy SSH (domyślnie:True).opt_openssh_password_auth: Ustala, czy usługa SSH pozwoli na uwierzytelnianie za pomocą haseł (domyślnie:True).opt_openssh_shared_admin_key: Ustaw naTrue, aby administratorzy korzystali z wspólnego klucza autoryzacji w__PROGRAMDATA__/ssh/administrators_authorized_keys. Ustaw naFalse, aby zapewnić użycie%USER_PROFILE%\.ssh\authorized_keysdla wszystkich użytkowników (domyślnie:Fałsz).
Możesz dostosować opcje powłoki, aby kontrolować, jak usługa sshd uruchamia nową powłokę:
opt_openssh_default_shell: Zastąp domyślną powłokę ustawioną przez instalację OpenSSH. Powinna to być absolutna ścieżka do pliku wykonywalnego, który chcesz uruchomić podczas rozpoczynania sesji SSH.opt_openssh_default_shell_command_option: Ustaw argumenty używane podczas wywoływania powłoki, które nie powinny być zmieniane w normalnych okolicznościach.opt_openssh_default_shell_escape_args: Pomiń automatyczne escape'owanie argumentów podczas wywoływania powłoki.opt_openssh_powershell_subsystem: Ustaw subsystem do zdalnego dostępu PowerShell, musi to być ścieżka w formacie 8.3, np.:C:\PROGRA~1\POWERS~1\7\pwsh.exe(domyślnie:niezdefiniowane).
Zmienne wyjściowe
Brak
Zależności roli
Brak
Przykładowy playbook
- name: zainstaluj Win32-OpenSSH z domyślnymi ustawieniami
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: zainstaluj konkretną wersję Win32-OpenSSH w niestandardowym folderze
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_install_path: C:\OpenSSH
opt_openssh_version: v7.7.2.0p1-Beta
- name: zainstaluj tylko komponenty klienta Win32-OpenSSH
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_setup_service: False
Testowanie
Aby przetestować tę rolę, przejdź do folderu tests i uruchom vagrant up.
To uruchomi hosta Windows Server 2019, aby przetestować rolę. Jeśli host jest już online, uruchomienie vagrant provision ponownie uruchomi testy.
Lista rzeczy do zrobienia
Brak - zapraszamy do składania wniosków o nowe funkcje.
ansible-galaxy install gamethis.win_openssh