jborean93.win_openssh

Rola Ansible win_openssh

Rola win_openssh Ansible Galaxy

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 katalogu C:\Program Files\OpenSSH na podstawie najnowszej wersji dostępnej na GitHubie.
  • Ustawi usługi sshd i ssh-agent, aby uruchamiały się automatycznie.
  • Utworzy regułę zapory, która pozwala na ruch przychodzący na porcie 22 dla profili sieci domain i private.
  • 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 na 32 lub 64 (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 pliku authorized_keys użytkownika, domyślnie nie będą dodawane żadne klucze. Jeśli opt_openssh_shared_admin_key jest ustawione na True, 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ługi sshd i ssh-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, gdy opt_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 zamiast opt_openssh_url, jeśli jest zdefiniowane, a opt_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 na True, aby Administratorzy korzystali z wspólnego klucza autoryzacyjnego w __PROGRAMDATA__/ssh/administrators_authorized_keys. Ustaw na False, 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.

O projekcie

Install Win32-OpenSSH on a Windows host

Zainstaluj
ansible-galaxy install jborean93.win_openssh
Licencja
mit
Pobrania
388.1k
Właściciel