gamethis.win_openssh
Ansible Rolle win_openssh
Installiert Win32-OpenSSH auf einem Windows-Host.
Hinweis: Diese Rolle wurde mit Win32-OpenSSH v7.7.2.0p1-Beta getestet. Neuere Versionen sollten funktionieren, aber das ist nicht garantiert.
Mit den Standardeinstellungen wird diese Rolle:
Win32-OpenSSH
inC:\Program Files\OpenSSH
basierend auf der neuesten Version von GitHub installieren- Die Dienste
sshd
undssh-agent
einrichten und so konfigurieren, dass sie automatisch starten - Eine Firewallregel erstellen, die eingehenden Verkehr auf Port
22
für die NetzwerkprofileDomain
undPrivate
erlaubt - Die
sshd_config
-Datei so konfigurieren, dass die Authentifizierung mit öffentlichen Schlüsseln und Passwörtern erlaubt ist
Folgendes kann ebenfalls Teil der Rolle konfiguriert werden, erfordert jedoch die Festlegung einiger optionaler Variablen:
- Eine bestimmte Version von GitHub oder einer anderen URL, die auf die Zip-Datei verweist, angeben
- Angeben, wo die Binärdateien installiert werden sollen
- Steuern, ob die SSH-Serverdienste eingerichtet werden sollen
- Steuern, ob die SSH-Dienste automatisch starten sollen
- Definieren, welche Firewallprofile eingehenden SSH-Verkehr erlauben
- Den Port und andere ausgewählte Werte in der sshd_config festlegen
- Ein oder mehrere öffentliche Schlüssel zum Profil des aktuellen Benutzers hinzufügen
Anforderungen
- Windows Server 2008 R2+
Variablen
Obligatorische Variablen
Keine, diese Rolle läuft mit den Standardoptionen.
Optionale Variablen
opt_openssh_architecture
: Die Windows-Architektur, muss auf32
oder64
gesetzt werden (Standard:64
).opt_openssh_firewall_profiles
: Die Firewallprofile, die eingehenden SSH-Verkehr erlauben (Standard:domain,private
).opt_openssh_install_path
: Das Verzeichnis, in dem die OpenSSH-Binärdateien installiert werden (Standard:C:\Program Files\OpenSSH
).opt_openssh_pubkeys
: Eine Zeichenfolge oder Liste von Zeichenfolgen, die zurauthorized_keys
-Datei des Benutzers hinzugefügt werden, standardmäßig werden keine Schlüssel hinzugefügt. Wennopt_openssh_shared_admin_key
aufTrue
gesetzt ist, haben diese Schlüssel keinen Einfluss auf die Authentifizierung für Administratoren.opt_openssh_shared_admin_pubkeys
: Eine Zeichenfolge oder Liste von Zeichenfolgen, die zur Dateiadministrators_authorized_keys
hinzugefügt wird.opt_openssh_setup_service
: Ob die sshd-Dienste installiert werden sollen oder nur die Client-Programme genutzt werden sollen (Standard:True
).opt_openssh_skip_start
: Startet densshd
undssh-agent
Dienst nicht und setzt sie auch nicht aufauto start
(Standard:False
).opt_openssh_temp_path
: Das temporäre Verzeichnis zum Herunterladen der Zip-Datei und der extrahierten Dateien (Standard:C:\Windows\TEMP
).opt_openssh_url
: Legt den Speicherort für den Download der OpenSSH-Zip-Datei fest. Wenn weggelassen, wird diese von dem GitHub-Repository bezogen.opt_openssh_version
: Legt eine bestimmte Version fest, die von GitHub heruntergeladen werden soll, dies ist nur gültig, wennopt_openssh_url
nicht gesetzt ist (Standard:latest
).opt_openssh_zip_file
: Der Pfad zu einer OpenSSH-Zip-Release-Datei, die zur Installation verwendet wird. Dies wird anstelle vonopt_openssh_url
verwendet, wenn definiert, undopt_openssh_zip_remote_src
steuert, ob der Pfad lokal zum Controller oder lokal zum Windows-Host ist.opt_openssh_zip_remote_src
: (Standard:False
)
Du kannst auch folgende sshd_config-Werte anpassen:
opt_openssh_port
: EntsprichtPort
, dem Port, auf dem der SSH-Dienst hören wird (Standard:22
).opt_openssh_pubkey_auth
: EntsprichtPubkeyAuthentication
, ob der SSH-Dienst die Authentifizierung mit SSH-Schlüsseln erlauben wird (Standard:True
).opt_openssh_password_auth
: EntsprichtPasswordAuthentication
, ob der SSH-Dienst die Authentifizierung mit Passwörtern erlauben wird (Standard:True
).opt_openssh_shared_admin_key
: Setze aufTrue
, damit Administratoren einen gemeinsamen Autorisierungsschlüssel unter__PROGRAMDATA__/ssh/administrators_authorized_keys
verwenden. Setze aufFalse
, um sicherzustellen, dass%USER_PROFILE%\.ssh\authorized_keys
für alle Benutzer verwendet wird (Standard:False
).
Du kannst die Shell-Optionen anpassen, um zu steuern, wie der sshd-Dienst eine neue Shell startet:
opt_openssh_default_shell
: Überschreibt die Standard-Shell, die durch die OpenSSH-Installation festgelegt wurde. Dies sollte der absolute Pfad zu einer ausführbaren Datei sein, die du beim Start einer SSH-Sitzung ausführen möchtest.opt_openssh_default_shell_command_option
: Setzt die Argumente, die beim Aufrufen der Shell verwendet werden. Dies sollte unter normalen Umständen nicht angepasst werden.opt_openssh_default_shell_escape_args
: Überspringt das automatische Escaping von Argumenten beim Aufrufen der Shell.opt_openssh_powershell_subsystem
: Setzt das Subsystem für PowerShell-Remoting, muss ein 8.3-Pfad wieC:\PROGRA~1\POWERS~1\7\pwsh.exe
sein (Standard:undefined
).
Ausgabewerte
Keine
Abhängigkeiten der Rolle
Keine
Beispiel-Playbook
- name: Win32-OpenSSH mit den Standardeinstellungen installieren
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: Bestimmte Version von Win32-OpenSSH in benutzerdefinierten Ordner installieren
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: Nur Client-Komponenten von Win32-OpenSSH installieren
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_setup_service: False
Testen
Um diese Rolle zu testen, gehe in den tests Ordner und führe vagrant up
aus. Dies wird einen Windows Server 2019-Host hochfahren, um die Rolle zu testen. Wenn der Host bereits online ist, wird vagrant provision
die Tests erneut ausführen.
Rückstand
Keiner - Funktionsanfragen sind willkommen.