Hier erhalten Sie wertvolle Tipps, wie Sie SSH unter Windows 10 installieren können.
Wer in der Vergangenheit unter Windows eine SSH-Verbindung aufbauen wollte, musste dafür in der Regel auf ein Drittanbieter-Programm zurückgreifen. Das Betriebssystem selbst lieferte standardmäßig keinen entsprechenden Client mit. Inzwischen hat Microsoft allerdings nachgezogen und SSH-Tools fest in die Software implementiert. In diesem Beitrag zeigen wir Ihnen, wie die Nutzung von SSH unter Windows 10 funktioniert.
- Mit Hilfe von SSH bauen Sie eine verschlüsselte Verbindung zu einem Rechner im Netzwerk auf.
- Die SSH-Tools wurden bereits mit dem im Jahr 2017 erschienenen Fall Creators Update auf Version 1709 als optionales Feature in Windows integriert.
- Der OpenSSH-Server lässt sich wahlweise über die GUI oder die PowerShell nachrüsten.
Inhalt
1. Was ist SSH und wofür wird es genutzt?
Bei SSH (Secure Shell) handelt es sich um ein Netzwerk-Tool, mit dem Sie eine sichere Verbindung zu einem Gerät im Netzwerk aufbauen können. Dazu wird auf dem entfernten Rechner ein SSH-Server und auf Ihrem lokalen PC ein SSH-Client betrieben.
Die Portierung von OpenSSH auf Windows erleichtert in erster Linie das Management von komplexen heterogenen Umgebungen. Ist die Verbindung erst einmal hergestellt, sind Sie auf der Kommandozeile des Remote-Computers eingeloggt und können dort sämtliche Befehle auf dem Terminal via SSH ausführen.
So lassen sich damit unter anderem Linux-Rechner via SSH von Windows-Computern aus (oder umgekehrt) remote administrieren. Darüber hinaus erlaubt SSH Dank PowerShell Core-Unterstützung (plattformunabhängig) unter anderem die „Fernsteuerung“ eines Rechners oder die verschlüsselte Übertragung von Dateien.
2. So wenden Sie SSH unter Windows 10 an
Bisher mussten sich Windows-Nutzer immer mit einem zusätzlichen SSH-Tool, wie beispielsweise PuTTY, behelfen. Seit dem diesjährigen Oktober-Update (Version 1809) bringt aber auch Windows 10 eine integrierte Funktion für den Secure-Shell-Zugriff mit. Die Verbindung funktioniert dabei im Prinzip nicht anders, als Sie es vielleicht schon von Linux oder Mac OS kennen.
Um den OpenSSH-Client unter Windows 10 zu starten, öffnen Sie die Eingabeaufforderung (cmd) oder die Powershell (powershell) über das Startmenü und geben dort den Befehl
ssh
ein. Nach dem Aufruf des Tools bekommen Sie dann als Erstes die möglichen Parameter angezeigt.
Möchten Sie beispielsweise auf einen Raspberry Pi zugreifen, lautet das Kommando
ssh pi@raspberrypi
Das „pi“ vor dem @-Zeichen entspricht dabei dem Benutzernamen, mit dem Sie sich beim Remote-Server anmelden. Der Server selbst ist in diesem Beispiel „raspberrypi“.
Gut zu wissen: Unter Windows 7 und Windows 8 können Sie die SSH-Tools für die Kommandozeile nachrüsten. Das geht beispielsweise mit dem Download von Git for Windows, das ein Linux-ähnliches Terminal installiert.
Abhängig von der Konfiguration besteht zudem auch die Möglichkeit, eine bestimmte IP-Adresse in Ihrem Netzwerk oder einen externen Server anzusprechen:
ssh david@192.168.2.112 ssh bigboss@meinedomain.de
Im nächsten Schritt werden Sie gefragt, ob Sie den Host Key Fingerprint akzeptieren möchte. Dieser wird in der Datei „known_hosts“ im Unterverzeichnis „.ssh“ Ihres Benutzerordners gespeichert. Bestätigen Sie durch die Eingabe von „yes“ und geben Sie anschließend das Passwort zu Ihrem Account ein. Der Fingerprint wird nun bei jeder Verbindung geprüft, um Sie vor sogenannten „Man-In-The-Middle-Attacken“ zu schützen
Der SSH-Client verwendet standardmäßig Port 22, um eine Verbindung zum SSH-Server aufzubauen. Möchten Sie stattdessen einen anderen Port verwenden, müssen Sie diesen beim Verbindungsaufbau mit angeben. Dazu verwenden Sie den Parameter „-p“ gefolgt von der Portnummer. In unserem Beispiel verwenden wir den Port 7400:
ssh pi@raspberrypi -p 7400
Gut zu wissen: Die Konfigurationseinstellungen des SSH-Clients werden in der Datei „config“ im Unterverzeichnis „.ssh“ Ihres Benutzerordners gespeichert. Dort können Sie unter anderem Login-Daten für verschiedenen Server hinterlegen oder die automatische Verbindungstrennung deaktivieren.
2.1. Daten mittels scp kopieren
Mit Hilfe des Tools „scp“ können Sie Dateien von Ihrem Rechner auf den SSH-Server oder umgekehrt kopieren:
scp .htaccess bigboss@meine-domain.de: scp bigboss@meine-domain.de:.htaccess .
Zum Kopieren ganzer Verzeichnisse verwenden Sie zusätzlich den Parameter -r:
scp -r verzeichnis bigboss@meine-domain.de:
3. OpenSSH-Server unter Windows 10 einrichten
3.1. OpenSSH-Server über die GUI installieren
Mit der Implementierung von OpenSSH in Windows 10 haben Sie nicht nur die Option, auf einen SSH-Server zuzugreifen, sondern können diesen auch selbst betreiben. Im Gegensatz zum Client müssen Sie diesen in der aktuellen Windows 10 Version (1903) allerdings erst manuell aktivieren.
Führen Sie dazu die folgenden Schritte aus:
- Öffnen Sie die Systemeinstellungen und klicken Sie im Abschnitt „Apps & Features“ auf „Optionale Features“.
- Klicken Sie auf das Plus-Zeichen bei „Feature hinzufügen“ und wählen Sie auf der Liste den Eintrag „OpenSSH-Server“ aus.
- Klicken Sie auf „Installieren“, um den OpenSSH-Server zu installieren. Windows lädt die benötigten Dateien aus dem Internet.
Gut zu wissen: Tritt während der Installation des OpenSSH-Servers ein Fehler auf, erhalten Sie keine Benachrichtigung über die App-Einstellungen, sondern die Anzeige springt lediglich zurück zur Liste der Features.
3.2. OpenSSH-Server über die PowerShell hinzufügen
Etwas transparenter wird der Vorgang, wenn Sie die Installation über die PowerShell vornehmen. Dazu benötigen als erstes den genauen Namen des erforderlichen Paketes und übergeben diesen im nächsten Schritt an Add- WindowsCapability:
Get-WindowsCapability -Online | ? name -like *OpenSSH.Server* Add-WindowsCapability -Online
Hinweis: Ist der Build Ihres Systems älter als 17763.194 kann es bei der Installation zu einem Fehler („Add-WindowsCapability failed. Error code = 0x800f0950“) kommen. In diesem Fall benötigen Sie ein aktuelles kumulatives Windows-Update, um das Problem zu beheben. Eine ausführliche Dokumentation des Fehlers finden Sie hier.
Für den OpenSSH-Server werden zwei Dienste installiert:
- OpenSSH Authentication Agent
- OpenSSH Server
Beide laufen standardmäßig nicht und haben als Starttyp „manuell“ bzw. „deaktiviert“ eingestellt. Wenn Sie SSH zukünftig regelmäßig nutzen möchten, empfehlen wir, die Einstellung auf „automatisch“ zu ändern.
Das können Sie entweder über die „Dienste“-Einstellungen (services.exe) erledigen oder gleich direkt auf der PowerShell. Den Starttyp ändern Sie über
Set-Service sshd -StartupType Automatic Set-Service ssh-agent -StartupType Automatic
Starten Sie anschließend die Dienste über
Start-Service sshd Start-Service ssh-agent
3.2.1. Abschließende Checks
Über den Befehl
Get-Service -Name *ssh* | select DisplayName, Status, StartType
können Sie Ihre Änderungen noch einmal verifizieren und überprüfen, ob die Dienste auch wie gewünscht gestartet worden sind.
Zudem sollten Sie auch noch kontrollieren, ob die Firewall-Regel für eingehende SSH-Verbindungen ordnungsgemäß aktiviert wurde:
Get-NetFirewallRule -Name *SSH*
3.2.2. Verbindung testen
Wenn Sie die vorangegangenen Schritte erledigt haben und auch die abschließenden Checks zur Zufriedenheit verlaufen sind, steht einem Verbindungs-Test nichts mehr im Wege. Um sich von einem Windows-10-PC oder einem Linux-Rechner mit dem neuen Server zu verbinden, tippen Sie
ssh <Name-des-Servers>
ein. Damit landen Sie zwar auf der klassischen Console, können vor dort aus aber auch ohne Probleme die PowerShell starten.
Tipp: Anstelle eines Passwortes können Sie bei OpenSSH auch die Public-Key-Authentifizierung nutzen. Dabei wird ein Schlüsselpaar (bestehend aus einem privaten und einem öffentlichen Schlüssel) generiert und der öffentliche Schlüssel auf dem SSH-Server hinterlegt. Mit Hilfe des privaten Schlüssels können sich die Clients anschließend am Server authentifizieren. Weitere Informationen zu diesem Thema finden Sie hier.