PowerShell via SSH verknüpfen
Mit PowerShell SSH greifst du von praktisch überall auf Remote-Systeme zu und verwaltest diese effizient. Zudem bietet SSH detaillierte Protokollierungsfunktionen, die eine lückenlose Überwachung und Nachverfolgung aller Aktivitäten auf dem Server ermöglichen.
Das sind die Voraussetzungen für PowerShell SSH
Die Integration von SSH in Windows PowerShell erlaubt es dir, SSH-Verbindungen zu Remote-Systemen aufzubauen und SSH-Befehle direkt in einem PowerShell Script zu nutzen. Das erleichtert die Administration und Automatisierung in verteilten IT-Infrastrukturen – besonders in gemischten Umgebungen mit Windows- und Linux-Systemen.
Für die Nutzung von PowerShell SSH sollten folgende Bedingungen erfüllt sein:
- PowerShell-Version: Stelle sicher, dass mindestens PowerShell v6+ auf deinem Rechner installiert ist. Windows liefert PowerShell meist mit, prüfe aber, ob deine Version SSH bereits unterstützt.
- SSH-Client: Du benötigst einen SSH-Client in deiner PowerShell, um Verbindungen aufzubauen. In Windows 10/11 sowie Windows Server 2019 ist OpenSSH standardmäßig mit an Bord. Bei älteren Versionen musst du OpenSSH manuell nachrüsten.
- SSH-Server: Das Zielsystem muss als SSH-Server fungieren. Das kann ein Linux-Server, ein Netzwerkgerät oder ein anderer Host mit SSH-Unterstützung sein.
- Netzwerkverbindung: Dein Computer muss den Remote-SSH-Server über das Netzwerk erreichen können. Achte darauf, dass Port 22 in den Firewall-Regeln für SSH freigegeben ist.
- PowerShell-Module: Es gibt spezielle Module für SSH, wie „PSSession“ oder „Posh-SSH“. Kontrolliere, ob das passende Modul installiert ist, um den vollen Funktionsumfang in PowerShell zu nutzen.
- Berechtigungen: Du benötigst Admin-Rechte oder entsprechende Befugnisse sowie ein Passwort oder einen SSH-Key, um dich am Remote-Server anzumelden.
Schritt-für-Schritt-Anleitung: PowerShell SSH nutzen
Bevor du Secure Shell (SSH) in der PowerShell einsetzt, musst du den OpenSSH-Server konfigurieren. Danach startest du deine PowerShell SSH Session und führst Befehle auf dem entfernten System aus.
Schritt 1: OpenSSH installieren
Öffne das Startmenü, suche nach „PowerShell“ und wähle Als Administrator ausführen. Installiere das OpenSSH-Feature mit diesem Befehl:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0powershellSchritt 2: OpenSSH-Dienst aktivieren
Sobald die Installation fertig ist, startest du den OpenSSH-Dienst:
Start-Service sshdpowershellPrüfe mit folgendem Befehl, ob der Dienst aktiv ist:
Get-Service sshdpowershellDer Status Running bestätigt, dass sshd glatt läuft.

Schritt 3: Automatischer Start des SSH-Servers
Damit der OpenSSH-Server bei jedem Systemstart automatisch mitlädt, verwende diesen Befehl:
Set-Service -Name sshd -StartupType 'Automatic'powershellSchritt 4: Firewall-Regeln anpassen
Falls die Windows-Firewall aktiv ist, musst du eine Regel erstellen, die den Verkehr über Port 22 (Standard-SSH-Port) zulässt.
New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22powershellSchritt 5: SSH-Verbindung aufbauen
Jetzt kannst du dich von einem anderen Gerät aus einloggen. Öffne die PowerShell auf deinem Client und gib den SSH-Befehl zusammen mit Benutzername und Serveradresse ein.
ssh username@servernamepowershellErsetze „username“ durch deinen Usernamen und „servername“ durch die IP oder den Hostnamen des Servers. Nach dem Start wirst du nach deinem Passwort gefragt – außer du nutzt bereits SSH-Keys zur Anmeldung.

Schritt 6: In der SSH-Sitzung arbeiten
Nach dem Login arbeitest du auf dem Remote-Server so, als würdest du direkt davor sitzen. Um die Sitzung zu beenden und zurück zur lokalen PowerShell zu kehren, nutzt du einfach exit.
Es gibt viele nützliche SSH-Kommandos. Der Befehl pwd (print working directory) zeigt dir beispielsweise deinen aktuellen Standort im Dateisystem an:

Hier sind einige wichtige Befehle für PowerShell SSH:
ls/dir: Listet den Inhalt eines Ordners aufcd: Navigiert durch die Verzeichnisse am Servertouch/New-Item: Legt eine neue Datei anrm/Remove-Item: Entfernt Dateien oder ganze Ordnermv/Move-Item: Verschiebt oder benennt Daten umuseradd: Legt neue User-Accounts anscp: Kopiert Dateien zwischen Client und Server
Noch mehr nützliche Kommandos findest du in unserer Übersicht der PowerShell-Befehle.