So richten Sie einen SSH-Server unter Windows mit OpenSSH ein und konfigurieren ihn

Sie möchten Ihren Windows-Rechner in einen vollwertigen SSH-Server verwandeln? Gute Idee! Der integrierte OpenSSH-Server ist seit Windows 10 (Version 1803) Teil von Windows und auch in Windows 11 und den Server-Editionen enthalten – fast schon erstaunlich, wie einfach Microsoft das jetzt gemacht hat. Aber: Die korrekte Einrichtung, der reibungslose Betrieb und die sichere Verbindung können etwas knifflig sein, besonders beim ersten Mal. Diese Anleitung erklärt die einzelnen Schritte, häufige Fehlerquellen und hilfreiche Tipps, um Frustration zu vermeiden. Kurz gesagt: Sie können sich per SSH auf Ihrem Windows-PC anmelden, genau wie Linux-Nutzer, nur mit einer grafischen Benutzeroberfläche, die die Verwaltung von Remote-Verbindungen deutlich vereinfacht.

Egal, ob Sie dies für Remote-Skripte einrichten, mehrere Server verwalten oder einfach nur mit sicherem Zugriff experimentieren möchten – das Ziel ist ein zuverlässiger, funktionierender SSH-Server. Sie lernen, wie Sie ihn installieren, konfigurieren, Fehler beheben und eine Verbindung herstellen – außerdem erhalten Sie Tipps zur Optimierung der Sicherheitseinstellungen. Sobald alles korrekt konfiguriert ist, erhalten Sie eine sichere Shell, die problemlos funktioniert. Falls Sie SSH noch nicht kennen, keine Sorge – viele stoßen auf Schwierigkeiten, aber die meisten Probleme lassen sich leicht beheben, sobald man weiß, wo man suchen muss.

So beheben Sie häufige Probleme mit dem in Windows integrierten SSH-Server

Methode 1: Installation und Überprüfung des OpenSSH-Servers

Stellen Sie zunächst sicher, dass der OpenSSH-Server ordnungsgemäß installiert ist. Sie können ihn über PowerShell installieren – und glauben Sie mir, das ist die einfachste Methode:

  • Öffnen Sie ein PowerShell-Fenster mit erhöhten Rechten (als Administrator ausführen).
  • Führen Sie diesen Befehl aus, um nach dem Paket zu suchen und es zu installieren:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH. Server*' | Add-WindowsCapability -Online

Dieser Befehl lädt das Serverpaket herunter und installiert es, falls es noch nicht installiert ist. Wenn Ihr PC mit dem Internet verbunden ist, sollte der Download und die Installation automatisch erfolgen. Bei manchen Konfigurationen müssen Sie möglicherweise überprüfen, ob die Installation korrekt war – führen Sie dazu folgenden Befehl aus:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH. Server*'

Prüfen Sie, ob der Status „Installiert“ angezeigt wird. Falls nicht, führen Sie den Befehl erneut aus oder starten Sie das System neu.

Alternativ können Sie dies über das Einstellungsmenü tun:

  • Gehen Sie zu Einstellungen > Apps > Optionale Funktionen > Funktion hinzufügen
  • Scrollen Sie nach unten, suchen Sie OpenSSH Server und klicken Sie auf Installieren.

Wenn Sie offline sind, wird es komplizierter. Sie benötigen die Feature-on-Demand-ISO-Datei, um das Feature manuell hinzuzufügen – dazu extrahieren Sie die CAB-Datei und installieren sie anschließend mithilfe von PowerShell von einer lokalen Quelle, wie folgt:

Add-WindowsCapability -Name OpenSSH. Server~~~~0.0.1.0 -Online -Source E:\FOD

Ja, es ist mühsam, aber es funktioniert. Microsoft bietet außerdem MSI-Installationsprogramme in seinem GitHub-Repository an, was die Sache manchmal erleichtert:

https://github.com/PowerShell/Win32-OpenSSH/releases/

Nach der Installation bitte mit folgendem Befehl bestätigen:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH. Server*'

und prüfen Sie, ob dort „Status: Installiert“ steht.

Methode 2: Verwaltung der SSH-Dienst- und Firewall-Einstellungen

Der SSH-Server installiert zwei Dienste: sshd (Ihr eigentlicher Server) und ssh-agent, der die Schlüssel verwaltet, falls Sie die Schlüsselauthentifizierung verwenden. Damit SSH reibungslos funktioniert, müssen Sie sshd so einstellen, dass es automatisch startet, und es anschließend manuell starten.

Set-Service -Name sshd -StartupType 'Automatic' Start-Service sshd

Der Startbefehl ist die übliche PowerShell-Magie. Wenn Sie Verbindungsprobleme beheben, überprüfen Sie, ob Port 22 aktiv ist, indem Sie Folgendes ausführen:

netstat -na | find ":22"

Und überprüfen Sie, ob die Windows-Firewall eingehende SSH-Verbindungen blockiert:

Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Enabled

Falls die Regel nicht aktiv ist, aktivieren Sie sie:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Erfahrungsgemäß ist es nicht ungewöhnlich, dass die Firewall-Regel fehlt oder deaktiviert ist, wodurch SSH-Verbindungen blockiert werden. Prüfen Sie außerdem, ob die OpenSSH-Programme im entsprechenden Verzeichnis vorhanden sind C:\Windows\System32\OpenSSH\. Ohne diese Komponenten funktioniert SSH nicht.

Methode 3: Konfiguration von sshd_config und Fehlerbehebung

Die Hauptkonfigurationsdatei befindet sich hier %programdata%\ssh\sshd_config. Falls Ihre SSH-Verbindung nicht funktioniert, sollten Sie hier als Erstes nachsehen. Sie können sie mit Notepad oder einem beliebigen Texteditor bearbeiten.

start-process notepad C:\Programdata\ssh\sshd_config

Einige gängige Optimierungen: Sollten Probleme mit dem Benutzerzugriff auftreten, versuchen Sie, Direktiven wie die folgenden hinzuzufügen oder anzupassen:

AllowGroups sshadmins DenyGroups Administrators DenyUsers woshub\ [email protected]

Alles, was mit Benutzerberechtigungen, Ablehnungsregeln und zulässigen Gruppen zu tun hat. Beachten Sie, dass Anweisungen der Reihe nach verarbeitet werden, daher sollten Ablehnungsregeln in der Regel vor Zulassungsregeln stehen.

Apropos Portänderungen: Wenn Sie SSH auf einem nicht standardmäßigen Port ausführen möchten (z. B.aus Sicherheitsgründen oder aufgrund von Konflikten), ändern Sie die Port -Direktive in sshd_config:

Port 2222

Nach jeder Änderung muss sshd neu gestartet werden:

Restart-Service sshd

Überprüfen Sie mit netstat erneut, ob Ihr Port erreichbar ist. Manchmal genügt bereits eine Änderung in dieser Datei, um Verbindungsprobleme zu beheben.

Methode 4: Korrekte Verbindung und Authentifizierung

Sobald Ihr Server erreichbar ist, können Sie sich mit dem in Windows integrierten SSH-Client oder einem Drittanbieter-Client wie PuTTY verbinden.Öffnen Sie die Eingabeaufforderung und führen Sie folgenden Befehl aus:

ssh username@hostname-or-ip

wobei Benutzername Ihr Windows-Benutzerkonto ist. Für Domänenkonten verwenden Sie:

[email protected]

oder für das NetBIOS-Domänen\Benutzer-Format:

woshub\max@hostname

Bei manchen Konfigurationen ist Kerberos SSO sinnvoll, da Sie dann Ihr Passwort nicht eingeben müssen. Aktivieren Sie Kerberos SSO GSSAPIAuthentication yesin den Einstellungen sshd_configund verbinden Sie sich anschließend mit: ssh -K hostname.

Bei der ersten Verbindung erhalten Sie möglicherweise eine Warnung bezüglich des Host-Schlüssels; bestätigen Sie diese. Anschließend wird Ihnen eine Shell-Eingabeaufforderung angezeigt, und alle üblichen Befehle funktionieren. Wenn Sie PowerShell innerhalb von SSH standardmäßig verwenden möchten, können Sie die Registrierung entsprechend anpassen, um PowerShell als Standard-Shell festzulegen.

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

Stellen Sie dann die Verbindung wieder her und Sie sehen eine PowerShell-Eingabeaufforderung anstelle der Eingabeaufforderung. Ich bin mir nicht sicher, warum es funktioniert, aber diese kleine Änderung in der Registrierung hat bei vielen das Problem gelöst.

Methode 5: Protokollprüfung und Fehlerbehebung

Windows protokolliert SSH-Ereignisse standardmäßig über ETW und nicht in Klartextdateien. Um Verbindungsprobleme zu untersuchen, öffnen Sie die Ereignisanzeige ( eventvwr.msc ) und navigieren Sie dann zu:

  • Anwendungs- und Dienstprotokolle > OpenSSH > Betriebsbereit

Hier sehen Sie Veranstaltungen wie:

EventID: 4 sshd: Accepted password for username from 192.168. X.X port 12345 ssh2

Wenn Sie SSH-Protokolle zur einfacheren Fehlersuche in eine Datei schreiben möchten, müssen Sie die entsprechenden Direktiven aktivieren in sshd_config:

SyslogFacility LOCAL0 LogLevel INFO

Starten Sie anschließend sshd neu, und die Protokolle sollten in das Verzeichnis geschrieben werden C:\ProgramData\ssh\logs\sshd.log. Beachten Sie, dass dies zusätzlichen Konfigurationsaufwand erfordert, sich aber lohnt, wenn Sie hartnäckige Verbindungen beheben oder detailliertere Protokolle wünschen.

Meistens liegt das Problem an einem nicht laufenden Dienst, einer blockierenden Firewall oder einer Fehlkonfiguration sshd_config. Beheben Sie diese Probleme, und SSH funktioniert wieder einwandfrei. Windows macht es einem zwar etwas schwerer als Linux, aber sobald man den Dreh raus hat, ist es recht einfach.

Zusammenfassung

Wenn alle oben genannten Schritte korrekt befolgt werden, lösen sich die meisten Verbindungsprobleme wie von Zauberhand – oder lassen sich zumindest leichter beheben. Es ist erstaunlich, wie oft die Firewall oder der Dienststart übersehen werden, daher sollten Sie diese Punkte unbedingt überprüfen. Auch das Anpassen der Konfigurationen sshd_configkann hartnäckige Zugriffsprobleme oft lösen.

Hoffentlich spart das jemandem ein paar Stunden. Alles Weitere beschränkt sich meist auf die Anpassung von Berechtigungen, Ports oder Firewall-Regeln. Nicht vergessen: Manchmal hilft ein Neustart nach der Einrichtung, um hängende Dienste oder Netzwerk-Caches zu leeren.

Zusammenfassung

  • Stellen Sie sicher, dass der OpenSSH-Server installiert und aktiviert ist.
  • Stellen Sie den SSHD-Dienst so ein, dass er automatisch startet, und vergewissern Sie sich, dass er läuft.
  • Überprüfen Sie die Regeln Ihrer Windows-Firewall für eingehende Verbindungen über Port 22 (oder Ihren benutzerdefinierten Port).
  • Bearbeiten Sie sshd_configdie Einstellungen, um Benutzer, Gruppen und Ports anzupassen.
  • Verwenden Sie den in Windows integrierten SSH-Client oder Putty, um eine Verbindung herzustellen und zu testen.
  • Prüfen Sie die Ereignisprotokolle, falls die Verbindungsprobleme weiterhin bestehen.

Schlussgedanken

Der gesamte Vorgang kann etwas mühsam sein, insbesondere wenn Windows unnötige Einstellungen blockiert. Sobald die Einstellungen jedoch aktiviert sind, wird der SSH-Zugriff deutlich einfacher. Denken Sie daran, die Sicherheit im Auge zu behalten – lassen Sie die Standardeinstellungen nur aktiviert, wenn Sie genau wissen, was Sie tun. Ich hoffe, dies hilft jemandem, seinen SSH-Server unter Windows stabil und funktionsfähig einzurichten. Viel Erfolg!