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-OpenSSHinC:\Program Files\OpenSSHbasierend auf der neuesten Version von GitHub installieren- Die Dienste
sshdundssh-agenteinrichten und so konfigurieren, dass sie automatisch starten - Eine Firewallregel erstellen, die eingehenden Verkehr auf Port
22für die NetzwerkprofileDomainundPrivateerlaubt - 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 auf32oder64gesetzt 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_keyaufTruegesetzt 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_keyshinzugefü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 densshdundssh-agentDienst 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_urlnicht 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_urlverwendet, wenn definiert, undopt_openssh_zip_remote_srcsteuert, 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_keysverwenden. Setze aufFalse, um sicherzustellen, dass%USER_PROFILE%\.ssh\authorized_keysfü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.exesein (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.
