jborean93.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, dies ist jedoch nicht garantiert.
Mit den Standardoptionen wird diese Rolle:
Win32-OpenSSH
inC:\Program Files\OpenSSH
basierend auf der neuesten freigegebenen Version auf GitHub installieren- Die Dienste
sshd
undssh-agent
einrichten und so konfigurieren, dass sie automatisch gestartet werden - Eine Firewallregel erstellen, die eingehenden Verkehr über Port
22
für die Netzwerkprofiledomain
undprivate
zulässt - Die Datei
sshd_config
so konfigurieren, dass sowohl die Authentifizierung mit öffentlichen Schlüsseln als auch mit Passwörtern erlaubt ist
Folgendes kann ebenfalls als Teil der Rolle konfiguriert werden, erfordert jedoch einige optionale Variablen;
- Eine bestimmte Version zum Herunterladen von GitHub oder einer anderen URL angeben, die auf die ZIP-Datei verweist
- Angeben, wo die Binärdateien installiert werden sollen
- Steuern, ob die SSH-Serverdienste eingerichtet werden sollen
- Steuern, ob die SSH-Dienste automatisch gestartet werden sollen
- Die Firewallprofile definieren, um eingehenden SSH-Verkehr zuzulassen
- Den Port und andere ausgewählte Werte für die
sshd_config
angeben - Einen 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 auf entweder32
oder64
gesetzt werden (Standard:64
).opt_openssh_firewall_profiles
: Die Firewallprofile, die eingehenden SSH-Verkehr zulassen (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 zur Dateiauthorized_keys
des Benutzers hinzugefügt werden sollen. Standardmäßig werden keine Schlüssel hinzugefügt. Wennopt_openssh_shared_admin_key
aufTrue
gesetzt ist, haben diese Schlüssel keine Auswirkung auf die Authentifizierung für Admin-Benutzer.opt_openssh_setup_service
: Ob die SSHD-Dienstkomponenten installiert werden sollen oder ob lediglich die Client-Programme verwendet werden (Standard:True
).opt_openssh_skip_start
: Der Dienstsshd
undssh-agent
wird nicht gestartet und auch nicht aufautomatisch starten
gesetzt (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 der OpenSSH-ZIP-Datei fest. Falls nicht angegeben, wird dies aus dem GitHub-Repository übernommen.opt_openssh_version
: Legt eine bestimmte Version zum Herunterladen von GitHub fest, 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 von OpenSSH 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
)
Sie können auch die folgenden Werte für sshd_config
anpassen:
opt_openssh_port
: EntsprichtPort
, dem Port, auf dem der SSH-Dienst lauscht (Standard:22
).opt_openssh_pubkey_auth
: EntsprichtPubkeyAuthentication
, ob der SSH-Dienst die Authentifizierung mit SSH-Schlüsseln zulässt (Standard:True
).opt_openssh_password_auth
: EntsprichtPasswordAuthentication
, ob der SSH-Dienst die Authentifizierung mit Passwörtern zulässt (Standard:True
).opt_openssh_shared_admin_key
: AufTrue
setzen, damit Administratoren einen gemeinsamen Autorisierungsschlüssel unter__PROGRAMDATA__/ssh/administrators_authorized_keys
verwenden. AufFalse
setzen, um sicherzustellen, dass%USER_PROFILE%\.ssh\authorized_keys
für alle Benutzer verwendet wird (Standard:False
).
Sie können die Shell-Optionen anpassen, um zu steuern, wie der sshd
-Dienst eine neue Shell startet:
opt_openssh_default_shell
: Überschreibt die Standard-Shell, die bei der OpenSSH-Installation festgelegt wurde. Dies sollte der absolute Pfad zu einer ausführbaren Datei sein, die Sie beim Start einer SSH-Sitzung ausführen möchten.opt_openssh_default_shell_command_option
: Legt die Argumente fest, die beim Aufrufen der Shell verwendet werden. Dies sollte in normalen Fällen nicht angepasst werden.opt_openssh_default_shell_escape_args
: Automatisches Escaping von Argumenten beim Aufrufen der Shell überspringen.opt_openssh_powershell_subsystem
: Legt das Subsystem für PowerShell-Remoting fest. Muss ein 8.3-Pfad wieC:\PROGRA~1\POWERS~1\7\pwsh.exe
sein (Standard:undefined
).
Ausgabevariablen
Keine
Rollenabhängigkeiten
Keine
Beispiel-Playbook
- name: Win32-OpenSSH mit den Standardoptionen installieren
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: Spezifische Version von Win32-OpenSSH in benutzerdefinierter 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 die Clientkomponenten von Win32-OpenSSH installieren
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_setup_service: False
Tests
Um diese Rolle zu testen, gehen Sie in den Ordner tests und führen Sie vagrant up
aus. Dies startet einen Windows Server 2019-Host, um die Rolle zu testen. Wenn der Host bereits online ist, wird mit vagrant provision
der Test erneut ausgeführt.
Aufgaben
Keine - Funktionsanfragen sind willkommen.
ansible-galaxy install jborean93.win_openssh