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-OpenSSH
wC:\Program Files\OpenSSH
na podstawie najnowszej wersji dostępnej w GitHub - Skonfiguruje usługi
sshd
issh-agent
i ustawi je na automatyczne uruchamianie - Utworzy regułę zapory, która pozwala na ruch przychodzący na porcie
22
dla profili siecidomena
iprywatna
- 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 na32
lub64
(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_keys
użytkownika, domyślnie nie będą dodawane żadne klucze. Jeśliopt_openssh_shared_admin_key
jestTrue
, 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ługisshd
issh-agent
oraz 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_url
nie 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_src
kontroluje, 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_keys
dla 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