Hoe SSH te gebruiken in Powershell
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.0powershellStap 2: Start de OpenSSH-service
Zodra de installatie is voltooid, kunt u de OpenSSH-service starten:
Start-Service sshdpowershellU kunt controleren of de OpenSSH-service actief is:
Get-Service sshdpowershellDe status ‘Running’ geeft aan dat sshd correct werkt.

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'powershellStap 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 22powershellStap 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@servernamepowershellVervang ‘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.

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:

Hier is een lijst met opdrachten die u kunt gebruiken in PowerShell SSH:
ls/dir: Geeft de inhoud van een map weercd: Wijzigt de map op de externe servertouch/New-Item: Maakt een nieuw bestand aanrm/Remove-Item: Verwijdert bestanden of mappenmv/Move-Item: Verplaatst of hernoemt bestanden en mappenuseradd: Voegt een nieuwe gebruiker toescp: Bestanden overbrengen tussen client en server
Meer opdrachten vindt u in ons overzicht van PowerShell-opdrachten.