PowerShell über SSH verbinden
Mit PowerShell SSH können Sie von praktisch jedem Ort aus auf Remote-Systeme zugreifen und diese verwalten. Zudem bietet SSH detaillierte Protokollierungsfunktionen, die eine umfassende Überwachung und Nachverfolgung von Aktivitäten auf dem Server gestatten.
Das sind die Voraussetzungen für PowerShell SSH
Die Integration von SSH in Windows PowerShell gibt Ihnen die Möglichkeit, SSH-Verbindungen zu Remote-Systemen herzustellen und SSH-Befehle in einem PowerShell Script auszuführen. Dies erleichtert die Verwaltung und Automatisierung von Aufgaben in verteilten IT-Infrastrukturen, insbesondere in einer heterogenen Umgebung, in der sowohl Windows- als auch Nicht-Windows-Systeme vorhanden sind.
Für die Nutzung von PowerShell SSH sollten Sie folgende Anforderungen erfüllen:
- PowerShell-Installation: Stellen Sie sicher, dass PowerShell v6+ auf Ihrem lokalen Computer installiert ist. PowerShell ist in der Regel in Windows vorinstalliert, aber Sie müssen kontrollieren, dass Sie eine Version verwenden, die SSH-Unterstützung bietet.
- SSH-Client: Sie benötigen einen SSH-Client in Ihrer PowerShell-Umgebung, um SSH-Verbindungen herzustellen. In Windows 10/11 und Windows Server 2019 ist OpenSSH standardmäßig verfügbar. Wenn Sie eine ältere Windows-Version benutzen, müssen Sie möglicherweise OpenSSH manuell installieren.
- SSH-Server: Der SSH-Server ist der Zielserver, mit dem sich verbunden werden soll. Dies kann ein Linux-Server, ein Netzwerkgerät oder ein anderer SSH-fähiger Host sein.
- Netzwerkzugriff: Ihr lokaler Computer sollte Zugriff auf das Netzwerk haben und den Remote-SSH-Server erreichen können. Port 22 muss für SSH in den Firewall-Regeln geöffnet sein.
- PowerShell-Module: Es gibt PowerShell-Module, die speziell für die Verwendung von SSH entwickelt wurden, wie das „PSSession“ oder „Posh-SSH“ Modul. Sie sollten überprüfen, dass das entsprechende Modul auf Ihrem System installiert ist, um SSH-Funktionalität in PowerShell nutzen zu können.
- Berechtigungen: Sie brauchen Administratorrechte oder erweitere Befugnisse sowie ein Passwort oder einen SSH-Schlüssel, um SSH-Verbindungen von Ihrem lokalen Computer aus herzustellen und auf den Remote-Server zuzugreifen.
- 100 % Enterprise-Hardware
- Minutengenaue Abrechnung
- Nur bei uns: Cloud-Funktionen
Schritt-für-Schritt-Anleitung: PowerShell SSH nutzen
Bevor Sie Secure Shell (SSH) in PowerShell verwenden können, müssen Sie den OpenSSH-Server einrichten. Danach können Sie die PowerShell SSH Session starten und Befehle auf dem Remote-System ausführen.
Schritt 1: OpenSSH installieren
Klicken Sie auf das Startmenü oder geben Sie „PowerShell“ in die Suchleiste ein. Wählen Sie Run as administrator aus. Dies öffnet die Windows PowerShell. Mit dem folgenden PowerShell-Befehl können Sie das OpenSSH-Feature auf Ihrem Windows-Computer installieren:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
powershellSchritt 2: OpenSSH-Dienst starten
Wenn die Installation abgeschlossen ist, dürfen Sie den OpenSSH-Dienst starten:
Start-Service sshd
powershellSie können kontrollieren, ob der OpenSSH-Dienst läuft:
Get-Service sshd
powershellDer Status Running gibt an, dass sshd ordnungsgemäß ausgeführt wird.
Schritt 3: SSH-Server-Dienst automatisch starten
Um den OpenSSH-Server-Dienst bei jedem Windows-Neustart zu aktivieren, können Sie folgenden Befehl eingeben:
Set-Service -Name sshd -StartupType 'Automatic'
powershellSchritt 4: Firewall anpassen
Wenn die Windows-Firewall aktiv ist, sollten Sie eine Regel hinzufügen, um den SSH-Datenverkehr auf Port 22 (dem Standard-SSH-Port) zuzulassen.
New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
powershellSchritt 5: SSH-Verbindung herstellen
Sie können sich nun mit Ihrem SSH-Server von einem anderen Gerät aus einloggen. Öffnen Sie dazu PowerShell auf Ihrem Client PC und geben Sie den SSH-Befehl mit dem Benutzernamen und der Serveradresse an.
ssh username@servername
powershellErsetzen Sie dabei „username“ durch Ihren SSH-Benutzernamen und „servername“ durch die IP-Adresse oder den Hostnamen des Remote-Servers. Wenn Sie den Befehl starten, werden Sie aufgefordert, Ihr SSH-Passwort einzugeben – es sei denn, Sie verwenden SSH-Schlüssel für die Authentifizierung.
Schritt 6: Arbeiten in der SSH-Sitzung
Sobald Sie eine SSH-Verbindung hergestellt haben, können Sie Kommandos auf dem Remote-Server ausführen, als wären Sie physisch auf dem Server angemeldet. Um die SSH-Sitzung zu beenden und zur lokalen PowerShell zurückzukehren, steht Ihnen der Befehl exit
zur Verfügung.
Es gibt eine Reihe von SSH-Befehlen in PowerShell. Das Kommando pwd
steht für „print working directory“ und zeigt Ihnen zum Beispiel das aktuelle Arbeitsverzeichnis an:
Hier ist eine Liste von Befehlen, die Sie in PowerShell SSH verwenden können:
-
ls/dir
: zeigt den Inhalt eines Verzeichnisses an -
cd
: wechselt das Verzeichnis auf dem Remote-Server -
touch/New-Item
: erstellt eine neue Datei -
rm/Remove-Item
: löscht Dateien oder Verzeichnisse -
mv/Move-Item
: verschiebt oder benennt Dateien und Verzeichnisse um -
useradd
: fügt einen Benutzer hinzu -
scp
: überträgt Dateien zwischen Client und Server
Weitere Commands finden Sie in unserem Überblick der PowerShell-Befehle.