Mit dem integrierten SSH-Client von Windows 10 auf den Raspberry Pi und andere Linux Systeme per SSH verbinden

Als Video ansehen
Bereitgestellt über YouTube

Mit dem integrierten SSH-Client von Windows 10 auf den Raspberry Pi und andere Linux Systeme per SSH verbinden

Windows besitzt eine Portierung des SSH-Clients, und das mittlerweile sogar ohne zusätzliche Installation! In Windows 10 Version 1709 waren sie zunächst als optionale Funktionen eingebaut, die man selbst installieren musste. Das Creators Update kam Ende 2017, musste wegen vieler schwerer Fehler und Probleme aber etwa ein Jahr lang zurückgezogen werden.

In welcher Windows 10 Version ist der SSH-Client enthalten?

Ab der Nachfolgeversion 1809 ist der SSH-Client standardmäßig installiert. 1809 erschien ursprünglich im Oktober 2018 und wurde abermals wegen Fehlern zurückgenommen werden. Teils betrafen diese auch den SSH-Server. Erst in Richtung Mitte 2019 besserte sich das einigermaßen. Derzeit sind wir bei Version 21H2 vom November 2021. Für Windows-Nutzer heißt das: Ihr habt seit einigen Monaten einen mitgelieferten SSH-Client, möglicherweise ohne das zu wissen!

Dies kann man wie folgt sehen: [Windowstaste] + R, ms-settings:optionalfeatures eingeben und nach „ssh“ suchen:

Für ältere Windows 10 Versionen gäbe es hier auch die Möglichkeit, den SSH-Client über „Feature hinzufügen“ zu installieren. Statt über die grafische Oberfläche lässt sich mit der PowerShell ebenfalls prüfen, ob der OpenSSH Client installiert ist:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

So nutzt du den integrierten SSH-Client

Öffne zunächst eine Konsole. Ob du die PowerShell oder gute alte CMD verwendest, spielt dabei keine Rolle. Beide finden sich über die Suche im Startmenü. Tippe in das Konsolenfenster ssh ein und drücke Enter. Es sollte die Hilfe des SSH-Befehls erscheinen:

Die Parameter sind identisch mit denen des SSH-Clients unter Linux. Wer den SSH-Client von Linux bereits verwendet hat, wird sich daher schnell zurecht finden.

Um eine Verbindung mit dem Raspberry Pi oder jedem anderen Linux-System mit aktiviertem SSH-Server herzustellen, gebe folgenden Befehl ein:

ssh benutzer@hostOderIpAdresse

Wie unter Linux wird auch hier der Fingerabdruck des Servers geprüft. Beim ersten Verbinden werdet ihr daher aufgefordert, mit yes zu bestätigen um fortzufahren (1). Anschließend folgt die Eingabe des Passwortes (2) und ihr seid verbunden:

Verwendung von SSH-Keys

Unter Linux ist es gängig, SSH-Schlüssel statt Passwörtern zu verwenden. Lässt sich das mit Windows nun auch nativ nutzen? Tatsächlich existiert auch eine Windows Exe von ssh-keygen. Das ist ein Linux-Werkzeug, um sich ein persönliches Schlüsselpaar zu erzeugen. Gespeichert wird der Schlüssel im Benutzerprofil im Ordner .ssh, ähnlich wie unter Linux.

ssh-keygen -t rsa -b 4096

Allerdings wurde ssh-copy-id nicht portiert. Mit diesem Befehl kann man unter Linux sehr bequem den öffentlichen SSH-Schlüssel auf den Server kopieren lassen. Unter Windows brauchen wir dafür nach wie vor zusätzliche Programme – MobaXterm beispielsweise bringt eine Portierung von ssh-copy-id auf seinem integrierten Terminal mit. Ansonsten bleibt nur der manuelle Weg, den Schlüssel aus C:\Users\<Benutzername>\.ssh\id_rsa.pub zu kopieren, händisch per SSH (und Passwort) auf dem Pi einzuloggen und den Schlüssel in eine neue Zeile der Datei ~/.ssh/authorized_keys einzutragen. Anschließend kann man sich über den SSH-Schlüssel statt eines Passwortes verbinden.

In der PowerShell lässt sich der öffentliche Schlüssel mit cat ausgeben:

cat .\.ssh\id_rsa.pub

Dafür muss man sich im Profilordner (Pfad siehe oben) befinden. Dies ist Standardmäßig der Fall, wenn man ein neues PowerShell-Fenster öffnet. Beachtet, dass es mit der alten Eingabeaufforderung (CMD) nicht funktioniert! Cat ist ein Linux-Werkzeug, das Microsoft nur in der PowerShell nachgerüstet hat, nicht in der Eingabeaufforderung. Dort erhaltet ihr dementsprechend einen Fehler, dass der Befehl nicht gefunden wurde.

Leave a Reply