So installieren und konfigurieren Sie einen SSH-Server unter Windows Server

Übersicht

Dieser Artikel beschreibt die Installation und Konfiguration des OpenSSH-Servers unter Windows Server. Die Anleitung umfasst die Einrichtung des Dienstes, die Schlüssel­authentifizierung 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üssel­authentifizierung (empfohlen)

  1. Anleitung zur Generierung und Einrichtung von SSH-Schlüsseln auf dem Client

  2. Registrieren Sie den öffentlichen Schlüssel:

    • Für Standardbenutzer: %USERPROFILE%\.ssh\authorized_keys
    • Für Administratoren: %ProgramData%\ssh\administrators_authorized_keys
  3. Bearbeiten Sie auf dem Server die Datei %ProgramData%\ssh\sshd_config und 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üssel­authentifizierung, Firewallregeln und Dienstparameter wird eine sichere Remote-Administrationsumgebung geschaffen.