Mit Power­Shell SSH können Sie von praktisch jedem Ort aus auf Remote-Systeme zugreifen und diese verwalten. Zudem bietet SSH de­tail­lier­te Pro­to­kol­lie­rungs­funk­tio­nen, die eine um­fas­sen­de Über­wa­chung und Nach­ver­fol­gung von Ak­ti­vi­tä­ten auf dem Server gestatten.

Das sind die Vor­aus­set­zun­gen für Power­Shell SSH

Die In­te­gra­ti­on von SSH in Windows Power­Shell gibt Ihnen die Mög­lich­keit, SSH-Ver­bin­dun­gen zu Remote-Systemen her­zu­stel­len und SSH-Befehle in einem Power­Shell Script aus­zu­füh­ren. Dies er­leich­tert die Ver­wal­tung und Au­to­ma­ti­sie­rung von Aufgaben in ver­teil­ten IT-In­fra­struk­tu­ren, ins­be­son­de­re in einer he­te­ro­ge­nen Umgebung, in der sowohl Windows- als auch Nicht-Windows-Systeme vorhanden sind.

Für die Nutzung von Power­Shell SSH sollten Sie folgende An­for­de­run­gen erfüllen:

  • Power­Shell-In­stal­la­ti­on: Stellen Sie sicher, dass Power­Shell v6+ auf Ihrem lokalen Computer in­stal­liert ist. Power­Shell ist in der Regel in Windows vor­in­stal­liert, aber Sie müssen kon­trol­lie­ren, dass Sie eine Version verwenden, die SSH-Un­ter­stüt­zung bietet.
  • SSH-Client: Sie benötigen einen SSH-Client in Ihrer Power­Shell-Umgebung, um SSH-Ver­bin­dun­gen her­zu­stel­len. In Windows 10/11 und Windows Server 2019 ist OpenSSH stan­dard­mä­ßig verfügbar. Wenn Sie eine ältere Windows-Version benutzen, müssen Sie mög­li­cher­wei­se OpenSSH manuell in­stal­lie­ren.
  • SSH-Server: Der SSH-Server ist der Ziel­ser­ver, mit dem sich verbunden werden soll. Dies kann ein Linux-Server, ein Netz­werk­ge­rät oder ein anderer SSH-fähiger Host sein.
  • Netz­werk­zu­griff: 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.
  • Power­Shell-Module: Es gibt Power­Shell-Module, die speziell für die Ver­wen­dung von SSH ent­wi­ckelt wurden, wie das „PSSession“ oder „Posh-SSH“ Modul. Sie sollten über­prü­fen, dass das ent­spre­chen­de Modul auf Ihrem System in­stal­liert ist, um SSH-Funk­tio­na­li­tät in Power­Shell nutzen zu können.
  • Be­rech­ti­gun­gen: Sie brauchen Ad­mi­nis­tra­tor­rech­te oder erweitere Be­fug­nis­se sowie ein Passwort oder einen SSH-Schlüssel, um SSH-Ver­bin­dun­gen von Ihrem lokalen Computer aus her­zu­stel­len und auf den Remote-Server zu­zu­grei­fen.
Dedicated Server
De­di­zier­te Server mit mo­derns­ten Pro­zes­so­ren
  • 100 % En­ter­pri­se-Hardware
  • Kon­fi­gu­rier­ba­re Hardware-Aus­stat­tung
  • ISO-zer­ti­fi­zier­te Re­chen­zen­tren

Schritt-für-Schritt-Anleitung: Power­Shell SSH nutzen

Bevor Sie Secure Shell (SSH) in Power­Shell verwenden können, müssen Sie den OpenSSH-Server ein­rich­ten. Danach können Sie die Power­Shell SSH Session starten und Befehle auf dem Remote-System ausführen.

Schritt 1: OpenSSH in­stal­lie­ren

Klicken Sie auf das Startmenü oder geben Sie „Power­Shell“ in die Such­leis­te ein. Wählen Sie Run as ad­mi­nis­tra­tor aus. Dies öffnet die Windows Power­Shell. Mit dem folgenden Power­Shell-Befehl können Sie das OpenSSH-Feature auf Ihrem Windows-Computer in­stal­lie­ren:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
power­shell

Schritt 2: OpenSSH-Dienst starten

Wenn die In­stal­la­ti­on ab­ge­schlos­sen ist, dürfen Sie den OpenSSH-Dienst starten:

Start-Service sshd
power­shell

Sie können kon­trol­lie­ren, ob der OpenSSH-Dienst läuft:

Get-Service sshd
power­shell

Der Status Running gibt an, dass sshd ord­nungs­ge­mäß aus­ge­führt wird.

Bild: PowerShell SSH-Server-Dienst
Get-Service sshd prüft die Aus­füh­rung des SSH-Dienstes.

Schritt 3: SSH-Server-Dienst au­to­ma­tisch starten

Um den OpenSSH-Server-Dienst bei jedem Windows-Neustart zu ak­ti­vie­ren, können Sie folgenden Befehl eingeben:

Set-Service -Name sshd -StartupType 'Automatic'
power­shell

Schritt 4: Firewall anpassen

Wenn die Windows-Firewall aktiv ist, sollten Sie eine Regel hin­zu­fü­gen, um den SSH-Da­ten­ver­kehr auf Port 22 (dem Standard-SSH-Port) zu­zu­las­sen.

New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
power­shell

Schritt 5: SSH-Ver­bin­dung her­stel­len

Sie können sich nun mit Ihrem SSH-Server von einem anderen Gerät aus einloggen. Öffnen Sie dazu Power­Shell auf Ihrem Client PC und geben Sie den SSH-Befehl mit dem Be­nut­zer­na­men und der Ser­ver­adres­se an.

ssh username@servername
power­shell

Ersetzen Sie dabei „username“ durch Ihren SSH-Be­nut­zer­na­men und „ser­ver­na­me“ durch die IP-Adresse oder den Hostnamen des Remote-Servers. Wenn Sie den Befehl starten, werden Sie auf­ge­for­dert, Ihr SSH-Passwort ein­zu­ge­ben – es sei denn, Sie verwenden SSH-Schlüssel für die Au­then­ti­fi­zie­rung.

Bild: PowerShell SSH Login
SSH-Passwort eingeben

Schritt 6: Arbeiten in der SSH-Sitzung

Sobald Sie eine SSH-Ver­bin­dung her­ge­stellt haben, können Sie Kommandos auf dem Remote-Server ausführen, als wären Sie physisch auf dem Server an­ge­mel­det. Um die SSH-Sitzung zu beenden und zur lokalen Power­Shell zu­rück­zu­keh­ren, steht Ihnen der Befehl exit zur Verfügung.

Es gibt eine Reihe von SSH-Befehlen in Power­Shell. Das Kommando pwd steht für „print working directory“ und zeigt Ihnen zum Beispiel das aktuelle Ar­beits­ver­zeich­nis an:

Bild: PowerShell SSH-Befehle am Beispiel PWD
Beispiel für SSH-Befehle in Power­Shell

Hier ist eine Liste von Befehlen, die Sie in Power­Shell SSH verwenden können:

  • ls/dir: zeigt den Inhalt eines Ver­zeich­nis­ses an
  • cd: wechselt das Ver­zeich­nis auf dem Remote-Server
  • touch/New-Item: erstellt eine neue Datei
  • rm/Remove-Item: löscht Dateien oder Ver­zeich­nis­se
  • mv/Move-Item: ver­schiebt oder benennt Dateien und Ver­zeich­nis­se um
  • useradd: fügt einen Benutzer hinzu
  • scp: überträgt Dateien zwischen Client und Server

Weitere Commands finden Sie in unserem Überblick der Power­Shell-Befehle.

Zum Hauptmenü