- Übersicht
- Variablenreferenz
- Schritt 1: Installation des OpenSSH-Servers
- Schritt 2: Dienst starten und Autostart aktivieren
- Schritt 3: Firewall-Regel hinzufügen
- Schritt 4: Einrichtung der Schlüsselauthentifizierung (empfohlen)
- Schritt 5: Erste Verbindung testen
- Schritt 6: Sicherheit und Einschränkungen
- Schritt 7: Protokolle prüfen
- Fazit
Übersicht
Dieser Artikel beschreibt die Installation und Konfiguration des OpenSSH-Servers unter Windows Server. Die Anleitung umfasst die Einrichtung des Dienstes, die Schlüsselauthentifizierung und die Firewall-Konfiguration.
Variablenreferenz
| Variable | Beispiel | Beschreibung |
|---|---|---|
<<SERVER>> |
192.168.1.10 |
Zielhost oder IP-Adresse |
Schritt 1: Installation des OpenSSH-Servers
Starten Sie PowerShell mit Administratorrechten und führen Sie folgenden Befehl aus:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Schritt 2: Dienst starten und Autostart aktivieren
Nach der Installation starten Sie den Dienst und aktivieren Sie den automatischen Start:
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
💡 Hinweis
Beim ersten Start erstellt der Dienst automatisch Konfigurationsdateien und Hostschlüssel unter%ProgramData%\ssh.
Dazu gehören:
sshd_config(Konfigurationsdatei)ssh_host_*(Hostschlüssel)Änderungen sollten erst nach der Generierung dieser Dateien vorgenommen werden.
Schritt 3: Firewall-Regel hinzufügen
Öffnen Sie den TCP-Port 22 für eingehende SSH-Verbindungen:
New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server (sshd)" `
-Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
Schritt 4: Einrichtung der Schlüsselauthentifizierung (empfohlen)
-
Anleitung zur Generierung und Einrichtung von SSH-Schlüsseln auf dem Client
-
Registrieren Sie den öffentlichen Schlüssel:
- Für Standardbenutzer:
%USERPROFILE%\.ssh\authorized_keys - Für Administratoren:
%ProgramData%\ssh\administrators_authorized_keys
- Für Standardbenutzer:
-
Bearbeiten Sie auf dem Server die Datei
%ProgramData%\ssh\sshd_configund prüfen Sie folgende Einträge:PubkeyAuthentication yes AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Schritt 5: Erste Verbindung testen
Von einem Client aus:
ssh Administrator@<<SERVER>>
Beim ersten Verbindungsaufbau wird der Hostschlüssel bestätigt.
Nach der Anmeldung können Sie mit whoami prüfen, ob der erwartete Benutzer angemeldet ist.
Schritt 6: Sicherheit und Einschränkungen
In sshd_config können Sie erweiterte Sicherheitsparameter festlegen:
Port 2222
AllowGroups SSHAdmins
AllowUsers Administrator deployuser
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
- Port 2222 – Ändern Sie den Standardport, um automatisierte Angriffe zu erschweren.
- AllowGroups SSHAdmins – Beschränkt SSH-Zugriff auf bestimmte Gruppen.
ℹ️ Hinweis
Ab Windows Server 2025 kann die Gruppenbeschränkung standardmäßig aktiv sein. Lokalisierte Gruppennamen wie „OpenSSH Users“ funktionieren ggf. nicht korrekt. - AllowUsers Administrator deployuser – Nur definierte Benutzer dürfen sich verbinden.
- PasswordAuthentication no – Deaktiviert Passwortauthentifizierung zugunsten von Schlüsseln.
- KbdInteractiveAuthentication no – Verhindert alternative Eingabemethoden.
- PubkeyAuthentication yes – Aktiviert die sichere Schlüsselauthentifizierung.
Stellen Sie sicher, dass SSHAdmins und deployuser existieren und über minimale Berechtigungen verfügen.
Für eine erweiterte Protokollierung aktivieren Sie:
LogLevel VERBOSE
Schritt 7: Protokolle prüfen
Letzte SSH-Ereignisse anzeigen:
Get-WinEvent -LogName OpenSSH/Operational `
| Where-Object { $_.TimeCreated -ge (Get-Date).AddHours(-1) } `
| Select-Object TimeCreated, Id, LevelDisplayName, Message
Verfügbare Protokollnamen können Sie mit folgendem Befehl abrufen:
wevtutil el | findstr OpenSSH
Fazit
Mit dem OpenSSH-Server lässt sich Windows Server wie ein Unix-System per SSH verwalten. Durch korrekt konfigurierte Schlüsselauthentifizierung, Firewallregeln und Dienstparameter wird eine sichere Remote-Administrationsumgebung geschaffen.
