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-OpenSSH
w kataloguC:\Program Files\OpenSSH
na podstawie najnowszej wersji dostępnej na GitHubie. - Ustawi usługi
sshd
issh-agent
, aby uruchamiały się automatycznie. - Utworzy regułę zapory, która pozwala na ruch przychodzący na porcie
22
dla profili siecidomain
iprivate
. - 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 na32
lub64
(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_keys
użytkownika, domyślnie nie będą dodawane żadne klucze. Jeśliopt_openssh_shared_admin_key
jest 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ługisshd
issh-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_url
nie 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_src
kontroluje, 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_keys
dla 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