So installieren Sie den integrierten Windows 10 OpenSSH-Server

In der Liste der optionalen Funktionen, die in Windows 10 installiert werden können, sind die Beta-Versionen eines OpenSSH-Clients und eines OpenSSH-Servers enthalten. Der Client ermöglicht es Ihnen, sich direkt von der Windows-Befehlszeile aus mit entfernten SSH-Servern zu verbinden, und der Server ermöglicht es entfernten Benutzern, sich aus der Ferne mit Windows 10 zu verbinden und eine Befehlseingabe über SSH zu erhalten.

Für diejenigen, die einen entfernten Konsolenzugriff auf ihre Windows 10-Computer wünschen, ist der integrierte Windows 10 OpenSSH Server vielleicht genau das, wonach Sie suchen. Noch besser ist, dass für diejenigen, die mit OpenSSH von der Verwendung in Linux vertraut sind, die Windows 10-Version ziemlich genau gleich funktioniert.

Während der Windows 10 OpenSSH-Client wirklich einfach zu installieren und zu verwenden ist, war es eine echte Qual, herauszufinden, wie man den OpenSSH-Server zum Laufen bringt, da man eine Menge undokumentierter Änderungen an den & Berechtigungen vornehmen muss und die Schlüsselgenerierung nicht wie erwartet funktioniert. Jetzt, wo ich alles herausgefunden habe, sollte es jedoch nicht mehr als 10 Minuten dauern, diesen Anweisungen zu folgen und eine funktionierende OpenSSH Server-Implementierung in Windows 10 zu installieren.

Installation des Windows 10 OpenSSH Servers

Der erste Schritt besteht darin, auf das Windows Startmenü () zu klicken und dann in das Suchfeld Option einzugeben. Es wird ein Suchergebnis mit der Bezeichnung Optionale Funktionen verwalten angezeigt, auf das Sie klicken sollten. Daraufhin öffnet sich der Bildschirm Optionale Funktionen verwalten, wie unten gezeigt.

Bildschirm Optionale Funktionen verwalten

Dieser Bildschirm zeigt alle derzeit installierten optionalen Windows-Funktionen an. Klicken Sie nun auf die Schaltfläche „Feature hinzufügen“, wie durch den roten Pfeil oben angezeigt. Daraufhin öffnet sich eine Liste mit optionalen Funktionen, die installiert werden können. Die meisten davon sind Font Packs, aber wenn Sie nach unten scrollen, sehen Sie ein Feature namens OpenSSH Server (Beta).

Installieren Sie das OpenSSH Server Feature

Um den OpenSSH Server (Beta) zu installieren, wählen Sie ihn einfach aus und klicken Sie auf die Schaltfläche Installieren. Sobald Sie auf die Schaltfläche „Installieren“ klicken, werden Sie sehen, dass das Feature aus der Liste verschwindet. Das ist normal und kein Grund zur Beunruhigung. Klicken Sie einfach auf den Zurück-Pfeil in der oberen linken Ecke des Fensters und Sie gelangen zurück zur Liste der installierten Funktionen, aber jetzt mit dem installierten OpenSSH Server (Beta).

Windows 10 OpenSSH Server Installed

Sie können dieses Fenster nun schließen.

Nach der Installation wurden zwei neue Windows-Dienste namens sshd und sshd-agent erstellt und die zugehörigen Dateien im Ordner C:\Windows\System32\OpenSSH gespeichert. Die Liste der installierten Dateien lautet:

Um die Installation abzuschließen, sollten Sie nun Ihren Computer neu starten.

Nach der erneuten Anmeldung wird der sshd-Dienst nicht gestartet, und wenn Sie versuchen, ihn zu starten, meldet Windows, dass es nicht über die erforderlichen Berechtigungen verfügt, um den Dienst zu starten.

Dem OpenSSH-Dienst fehlt ein Privileg

Das fehlende Privileg, das der Dienst benötigt, ist „Replace a Process Level Token“ (Ersetze ein Prozesslevel-Token) und wir müssen es dem NT Service\sshd-Konto hinzufügen. Dazu öffnen Sie den Editor für lokale Sicherheitsrichtlinien, indem Sie im Startmenü nach secpol suchen und das angezeigte Ergebnis für die lokale Sicherheitsrichtlinie auswählen.

Wenn sich der Editor für lokale Sicherheitsrichtlinien öffnet, sollten Sie lokale Richtlinien erweitern und mit der linken Maustaste auf Benutzerrechte-Zuweisung klicken. Sobald Sie Benutzerrechte-Zuordnung ausgewählt haben, sehen Sie im rechten Fensterbereich verschiedene Berechtigungen. Scrollen Sie nach unten, bis Sie das Privileg „Replace a process level token“ sehen, und doppelklicken Sie auf dieses. Dadurch werden die Eigenschaften für dieses Recht geöffnet und die Konten oder Gruppen angezeigt, denen es derzeit zugewiesen ist.

Ersetzen eines Prozesslevel-Tokens Berechtigungseigenschaften

Klicken Sie nun auf die Schaltfläche Benutzer oder Gruppe hinzufügen und geben Sie NT Service\sshd in das Feld Geben Sie die auszuwählenden Objektnamen ein, wie unten gezeigt.

Konto zu Berechtigung hinzufügen

Wenn Sie fertig sind, klicken Sie auf die Schaltfläche OK, um sshd diese Berechtigung zu geben. Sie können dann auf die Schaltfläche OK klicken, um die Eigenschaften zu schließen und den Editor für lokale Sicherheitsrichtlinien zu schließen.

Selbst wenn das Recht aktiviert ist, zeigt Windows beim Versuch, den sshd-Dienst zu starten, den Fehler „Windows konnte den sshd-Dienst auf dem lokalen Computer nicht starten. Fehler 1067: Der Prozess wurde unerwartet beendet.“

Fehler 1067, wenn Sie versuchen, den SSHD-Dienst zu starten

Wenn Sie in der Datei C:\Windows\System32\OpenSSH\Logs\sshd.

SSHD zeigt diese Fehler an, weil Sie die Host-Schlüssel, die zur Verschlüsselung des Datenverkehrs zwischen dem Server und dem Client verwendet werden, nicht erzeugt haben. Um diese Schlüssel zu erstellen, müssen wir den Befehl „C:\Windows\System32\OpenSSH\ssh-keygen.exe -A“ von einer erhöhten Eingabeaufforderung aus ausführen, damit die Schlüssel im Ordner „C:\Windows\System32\OpenSSH“ erstellt werden.

Der Befehl „ssh-keygen -A“ generiert einen Schlüssel unter Verwendung des Standardschlüsseldateipfads, einer leeren Passphrase, Standardbits für den Schlüsseltyp und eines Standardkommentars. Normalerweise würde ich dem Schlüssel eine Passphrase hinzufügen, aber in der aktuellen gebündelten Windows 10-Version von OpenSSH antwortet ssh-keygen mit einem „failed: invalid argument“-Fehler, wenn Sie versuchen, eine Passphrase hinzuzufügen.

Ausführen von ssh-keygen.exe

Wenn ssh-keygen mit dem Erstellen und Speichern Ihres Schlüssels fertig ist, kehren Sie zur Eingabeaufforderung zurück, wie oben gezeigt. Sie können exit eingeben und die Eingabetaste drücken, um die erweiterte Eingabeaufforderung zu verlassen.

Unglücklicherweise sind wir noch nicht fertig und wenn Sie versuchen, den sshd-Dienst zu starten, wird Windows wieder mit einem „Fehler 1067“ antworten. Das liegt daran, dass das NT Service\sshd-Konto keinen Zugriff auf die Datei C:\Windows\system32\OpenSSH\ssh_host_ed25519_key hat. Um dies zu beheben, gehen Sie in die Eigenschaften der Datei ssh_host_ed25519_key und nehmen Sie die folgenden Änderungen vor:

  • Ändern Sie den Eigentümer der Datei in NT Service\sshd.
  • Geben Sie dem NT Service\sshd nur die Leseberechtigung für diese Datei.
  • Entfernen Sie die Berechtigungen für alle Benutzer für diese Datei. Zum Beispiel hat Ihr angemeldetes Konto Berechtigungen, die entfernt werden sollten.

Nachdem Sie dies getan haben, sollten Ihre Berechtigungen für die Datei ssh_host_ed25519_key wie folgt aussehen:

Gute Berechtigungen

Wenn Sie die Berechtigungen nicht korrekt gesetzt haben, können Sie den sshd-Dienst nicht starten und die Protokolldatei zeigt die folgenden Fehler an:

Wenn Sie die richtigen Berechtigungen für die private Schlüsseldatei festgelegt haben, können Sie den sshd-Dienst erneut starten. Dieses Mal wird der sshd-Dienst jedoch starten und für Computer verfügbar sein, um eine Verbindung herzustellen.

SSHD-Dienst gestartet

Nun, da der Dienst ausgeführt wird, können Sie eine Fernverbindung zu Ihrem Windows 10-System über SSH herstellen. Unten sehen Sie ein Beispiel dafür, wie es aussieht, wenn Sie sich per SSH mit einem Windows 10-Computer verbinden. Beachten Sie, dass Sie eine vollständige Eingabeaufforderung erhalten, in der Sie alle Befehlszeilentools, einschließlich PowerShell, ausführen können.

Windows 10-Eingabeaufforderung über SSH

Der sshd-Dienst ist auf Automatisch (verzögerter Start) eingestellt, was bedeutet, dass Windows diesen Dienst startet, nachdem alle anderen Dienste, die auf Automatisch eingestellt sind, den Start beendet haben. Daher kann es nach dem Neustart eines Computers einige Minuten dauern, bis der OpenSSH-Server läuft und eine Verbindung hergestellt werden kann.

Mit einem OpenSSH-Server unter Windows 10 haben Sie eine zusätzliche Ebene der Flexibilität bei der Verwaltung eines Computers hinzugefügt. Wenn Sie sich entscheiden, den OpenSSH-Server zu aktivieren, stellen Sie sicher, dass Port 22, auf den sshd hört, nur von vertrauenswürdigen IP-Adressen zugänglich ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.