# 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](https://www.ionos.com/digitalguide/server/know-how/windows-powershell/) gibt Ihnen die Möglichkeit, SSH-Verbindungen zu Remote-Systemen herzustellen und **SSH-Befehle** in einem [PowerShell Script](https://www.ionos.at/digitalguide/server/konfiguration/powershell-script-erstellen/) 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.

## Schritt-für-Schritt-Anleitung: PowerShell SSH nutzen

Bevor Sie [Secure Shell (SSH)](https://www.ionos.at/digitalguide/server/tools/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:

```powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
```

### Schritt 2: OpenSSH-Dienst starten

Wenn die Installation abgeschlossen ist, dürfen Sie den OpenSSH-Dienst starten:

```powershell
Start-Service sshd
```

Sie können kontrollieren, ob der OpenSSH-Dienst läuft:

```powershell
Get-Service sshd
```

Der Status **Running** gibt an, dass sshd ordnungsgemäß ausgeführt wird.

[![Bild: PowerShell SSH-Server-Dienst](https://www.ionos.at/digitalguide/fileadmin/_processed_/8/c/csm_powershell-get-service-ssh_a9063b610b.webp "PowerShell SSH-Server-Dienst")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-get-service-ssh.png) Get-Service sshd prüft die Ausführung des SSH-Dienstes. ### Schritt 3: SSH-Server-Dienst automatisch starten

Um den OpenSSH-Server-Dienst **bei jedem Windows-Neustart zu aktivieren**, können Sie folgenden Befehl eingeben:

```powershell
Set-Service -Name sshd -StartupType 'Automatic'
```

### Schritt 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.

```powershell
New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
```

### Schritt 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.

```powershell
ssh username@servername
```

Ersetzen 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.

[![Bild: PowerShell SSH Login](https://www.ionos.at/digitalguide/fileadmin/_processed_/a/5/csm_powershell-ssh-login_05553cb132.webp "PowerShell SSH Login")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-login.png) SSH-Passwort eingeben ### 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:

[![Bild: PowerShell SSH-Befehle am Beispiel PWD](https://www.ionos.at/digitalguide/fileadmin/_processed_/f/e/csm_powershell-ssh-commands-example_4f8b6f0a09.webp "PowerShell SSH-Befehle am Beispiel PWD")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-commands-example.png) Beispiel für SSH-Befehle in PowerShell 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](https://www.ionos.at/digitalguide/server/konfiguration/powershell-befehle/).


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/powershell-ssh/](https://www.ionos.at/digitalguide/server/konfiguration/powershell-ssh/) for AI/LLM consumption.