jborean93.win_openssh
Rola Ansible win_openssh
Instaluje Win32-OpenSSH na hoście systemu Windows.
Uwaga: Ta rola była testowana z wersją Win32-OpenSSH v7.7.2.0p1-Beta, nowsze wersje powinny działać, ale nie jest to gwarantowane.
Z domyślnymi ustawieniami ta rola:
- Zainstaluje
Win32-OpenSSHw kataloguC:\Program Files\OpenSSHna podstawie najnowszej wersji dostępnej na GitHubie. - Ustawi usługi
sshdissh-agent, aby uruchamiały się automatycznie. - Utworzy regułę zapory, która pozwala na ruch przychodzący na porcie
22dla profili siecidomainiprivate. - Skonfiguruje plik
sshd_config, aby zezwalał na uwierzytelnianie za pomocą klucza publicznego oraz hasła.
Można również skonfigurować następujące opcje w ramach roli, ale wymagają one ustawienia niektórych opcjonalnych zmiennych:
- Określenie konkretnej wersji do pobrania z GitHub lub innego adresu URL wskazującego na plik zip.
- Określenie lokalizacji instalacji binariów.
- Kontrola, czy zainstalować usługi serwera SSH.
- Kontrola, czy ustawić usługi SSH na automatyczne uruchamianie.
- Zdefiniowanie profili zapory, aby zezwolić na ruch ssh.
- Określenie portu i innych wybranych wartości w pliku sshd_config.
- Dodanie klucza publicznego do profilu bieżącego użytkownika.
Wymagania
- Windows Server 2008 R2+
Zmienne
Zmienne obowiązkowe
Brak, ta rola działa z domyślnymi ustawieniami.
Zmienne opcjonalne
opt_openssh_architecture: Architektura Windows, musi być ustawiona na32lub64(domyślnie:64).opt_openssh_firewall_profiles: Profile zapory, które zezwalają na ruch SSH (domyślnie:domain,private).opt_openssh_install_path: Katalog, w którym zainstalowane będą pliki binarne OpenSSH (domyślnie:C:\Program Files\OpenSSH).opt_openssh_pubkeys: Ciąg lub lista ciągów do dodania do plikuauthorized_keysużytkownika, domyślnie nie będą dodawane żadne klucze. Jeśliopt_openssh_shared_admin_keyjest ustawione naTrue, wtedy te klucze nie będą miały wpływu na uwierzytelnianie dla użytkowników z uprawnieniami administratora.opt_openssh_setup_service: Czy zainstalować komponenty usługi sshd, czy tylko korzystać z plików wykonawczych klienta (domyślnie:True).opt_openssh_skip_start: Nie uruchamia usługisshdissh-agent, a także nie ustawia ich na automatyczne uruchamianie (domyślnie:False).opt_openssh_temp_path: Tymczasowy katalog do pobrania pliku zip i wyodrębnionych plików (domyślnie:C:\Windows\TEMP).opt_openssh_url: Ustawia lokalizację pobierania pliku zip OpenSSH, jeśli zostanie pominięta, będzie pobierany z repozytorium GitHub.opt_openssh_version: Ustawia konkretną wersję do pobrania z GitHub, jest to ważne tylko, gdyopt_openssh_urlnie jest ustawione (domyślnie:latest).opt_openssh_zip_file: Ścieżka do pliku zip z wydaniem OpenSSH, który zostanie użyty do instalacji OpenSSH. Będzie to używane zamiastopt_openssh_url, jeśli jest zdefiniowane, aopt_openssh_zip_remote_srckontroluje, czy ścieżka jest lokalna dla kontrolera, czy lokalna dla hosta Windows.opt_openssh_zip_remote_src: (domyślnie:False)
Można także 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 pozwala na uwierzytelnianie za pomocą kluczy SSH (domyślnie:True).opt_openssh_password_auth: Ustala, czy usługa SSH pozwala na uwierzytelnianie za pomocą haseł (domyślnie:True).opt_openssh_shared_admin_key: Ustaw naTrue, aby Administratorzy korzystali z wspólnego klucza autoryzacyjnego w__PROGRAMDATA__/ssh/administrators_authorized_keys. Ustaw naFalse, aby zapewnić, że używany jest%USER_PROFILE%\.ssh\authorized_keysdla wszystkich użytkowników (domyślnie:False).
Można dostosować opcje powłoki, aby kontrolować, jak usługa sshd uruchamia nową powłokę:
opt_openssh_default_shell: Nadpisuje domyślną powłokę ustawioną przez instalację OpenSSH. To powinien być bezwzględny path do pliku wykonalnego, który chcesz uruchomić przy uruchamianiu sesji SSH.opt_openssh_default_shell_command_option: Ustawia argumenty używane podczas wywoływania powłoki, tego nie należy zmieniać w normalnych okolicznościach.opt_openssh_default_shell_escape_args: Pomija automatyczne escape'owanie argumentów podczas wywoływania powłoki.opt_openssh_powershell_subsystem: Ustawia podsystem dla zdalnego dostępu PowerShell, musi być to 8.3 path, np.:C:\PROGRA~1\POWERS~1\7\pwsh.exe(domyślnie:undefined).
Zmienne wyjściowe
Brak
Zależności roli
Brak
Przykładowy plik do odtworzenia
- name: instalacja Win32-OpenSSH z domyślnymi ustawieniami
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: instalacja konkretnej wersji Win32-OpenSSH do niestandardowego folderu
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: tylko instalacja komponentów 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 do testowania roli. Jeśli host jest już online, uruchomienie vagrant provision ponownie przeprowadzi testy.
Lista oczekujących
Brak – zapraszamy do składania propozycji dotyczących funkcji.
ansible-galaxy install jborean93.win_openssh