Met PowerShell SSH kunt u vanaf vrijwel elke locatie toegang krijgen tot externe systemen en deze beheren. Daarnaast biedt SSH gedetailleerde logfuncties waarmee activiteiten op de server uitgebreid kunnen worden gemonitord en gevolgd.

Wat zijn de vereisten voor PowerShell SSH?

Door SSH in Windows PowerShell te integreren, kunt u SSH-verbindingen met externe systemen tot stand brengen en SSH-opdrachten uitvoeren in een PowerShell-script. Dit maakt het een stuk eenvoudiger om taken in gedistribueerde IT-infrastructuren te beheren en te automatiseren, met name in een heterogene omgeving waar zowel Windows- als niet-Windows-systemen worden gebruikt.

Hier zijn de vereisten om SSH in PowerShell te gebruiken:

  • PowerShell-installatie: Zorg ervoor dat PowerShell v6 of hoger op uw lokale computer is geïnstalleerd. PowerShell is meestal vooraf geïnstalleerd in Windows, maar u moet controleren of u een versie gebruikt die SSH ondersteunt.
  • SSH-client: u hebt een SSH-client nodig in uw PowerShell-omgeving om SSH-verbindingen tot stand te brengen. OpenSSH is standaard beschikbaar in Windows 10/11 en Windows Server 2019. Als u een oudere versie van Windows gebruikt, moet u OpenSSH mogelijk handmatig installeren.
  • SSH-server: De SSH-server is de doelserver waarmee u verbinding wilt maken. Dit kan een Linux-server, een netwerkapparaat of een andere SSH-compatibele host zijn.
  • Netwerktoegang: uw lokale computer moet toegang hebben tot het netwerk en de externe SSH-server kunnen bereiken. Poort 22 moet openstaan voor SSH in de firewallregels.
  • PowerShell-modules: Er zijn PowerShell-modules die speciaal zijn ontwikkeld voor het gebruik van SSH, zoals de module ‘PSSession’ of ‘Posh-SSH’. U moet controleren of de bijbehorende module op uw systeem is geïnstalleerd om de SSH-functionaliteit in PowerShell te kunnen gebruiken.
  • Autorisaties: U hebt beheerdersrechten of verhoogde rechten en een wachtwoord of SSH-sleutel nodig om SSH-verbindingen vanaf uw lokale computer tot stand te brengen en toegang te krijgen tot de externe server.

Stapsgewijze instructies voor het gebruik van PowerShell SSH

Voordat u Secure Shell (SSH) in PowerShell kunt gebruiken, moet u de OpenSSH-server instellen. Vervolgens kunt u de PowerShell SSH-sessie starten en opdrachten uitvoeren op het externe systeem.

Stap 1: OpenSSH installeren

Klik op het startmenu of typ ‘PowerShell’ in de zoekbalk. Selecteer Als administrator uitvoeren. Hierdoor wordt Windows PowerShell geopend. U kunt de volgende PowerShell-opdracht gebruiken om de OpenSSH-functie op uw Windows-computer te installeren:

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

Stap 2: Start de OpenSSH-service

Zodra de installatie is voltooid, kunt u de OpenSSH-service starten:

Start-Service sshd
powershell

U kunt controleren of de OpenSSH-service actief is:

Get-Service sshd
powershell

De status ‘Running’ geeft aan dat sshd correct werkt.

Afbeelding: PowerShell: SSH server service
Get-Service sshd checks the execution of the SSH service.

Stap 3: Start de SSH-serverservice automatisch

Om de OpenSSH-serverservice bij elke herstart van Windows te activeren, kunt u de volgende opdracht invoeren:

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

Stap 4: Firewall aanpassen

Als Windows Firewall actief is, moet u een regel toevoegen om SSH-verkeer op poort 22 (de standaard SSH-poort) toe te staan.

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

Stap 5: Maak een SSH-verbinding

U kunt nu vanaf een ander apparaat inloggen met uw SSH-server. Open hiervoor PowerShell op uw client-pc en voer de SSH-opdracht in met de gebruikersnaam en het serveradres.

ssh username@servername
powershell

Vervang ‘gebruikersnaam’ door uw SSH-gebruikersnaam en ‘servernaam’ door het IP-adres of de hostnaam van de externe server. Wanneer u de opdracht start, wordt u gevraagd uw SSH-wachtwoord in te voeren, tenzij u de SSH-sleutel gebruikt voor authenticatie.

Afbeelding: PowerShell: SSH login
Enter the SSH password

Stap 6: Werk in de SSH-sessie

Zodra u een SSH-verbinding tot stand hebt gebracht, kunt u opdrachten op de externe server uitvoeren alsof u fysiek op de server bent aangemeld. Om de SSH-sessie te beëindigen en terug te keren naar de lokale PowerShell, kunt u de opdracht exit gebruiken.

Er zijn een aantal SSH-opdrachten in PowerShell. De opdracht pwd staat voor ‘print working directory’ en toont u de huidige werkdirectory, bijvoorbeeld:

Afbeelding: PowerShell SSH commands using PWD as an example
Example for SSH commands in PowerShell

Hier is een lijst met opdrachten die u kunt gebruiken in PowerShell SSH:

  • ls/dir: Geeft de inhoud van een map weer
  • cd: Wijzigt de map op de externe server
  • touch/New-Item: Maakt een nieuw bestand aan
  • rm/Remove-Item: Verwijdert bestanden of mappen
  • mv/Move-Item: Verplaatst of hernoemt bestanden en mappen
  • useradd: Voegt een nieuwe gebruiker toe
  • scp: Bestanden overbrengen tussen client en server

Meer opdrachten vindt u in ons overzicht van PowerShell-opdrachten.

Ga naar hoofdmenu