Met Po­werS­hell SSH kunt u vanaf vrijwel elke locatie toegang krijgen tot externe systemen en deze beheren. Daarnaast biedt SSH ge­de­tail­leer­de logfunc­ties waarmee ac­ti­vi­tei­ten op de server uit­ge­breid kunnen worden ge­mo­ni­t­ord en gevolgd.

Wat zijn de vereisten voor Po­werS­hell SSH?

Door SSH in Windows Po­werS­hell te in­te­gre­ren, kunt u SSH-ver­bin­din­gen met externe systemen tot stand brengen en SSH-op­drach­ten uitvoeren in een Po­werS­hell-script. Dit maakt het een stuk een­vou­di­ger om taken in ge­dis­tri­bu­eer­de IT-in­fra­struc­tu­ren te beheren en te au­to­ma­ti­se­ren, met name in een he­te­ro­ge­ne omgeving waar zowel Windows- als niet-Windows-systemen worden gebruikt.

Hier zijn de vereisten om SSH in Po­werS­hell te gebruiken:

  • Po­werS­hell-in­stal­la­tie: Zorg ervoor dat Po­werS­hell v6 of hoger op uw lokale computer is ge­ïn­stal­leerd. Po­werS­hell is meestal vooraf ge­ïn­stal­leerd in Windows, maar u moet con­tro­le­ren of u een versie gebruikt die SSH on­der­steunt.
  • SSH-client: u hebt een SSH-client nodig in uw Po­werS­hell-omgeving om SSH-ver­bin­din­gen tot stand te brengen. OpenSSH is standaard be­schik­baar in Windows 10/11 en Windows Server 2019. Als u een oudere versie van Windows gebruikt, moet u OpenSSH mogelijk handmatig in­stal­le­ren.
  • SSH-server: De SSH-server is de doel­ser­ver waarmee u ver­bin­ding wilt maken. Dit kan een Linux-server, een net­werk­ap­pa­raat of een andere SSH-com­pa­ti­be­le host zijn.
  • Net­werk­toe­gang: uw lokale computer moet toegang hebben tot het netwerk en de externe SSH-server kunnen bereiken. Poort 22 moet openstaan voor SSH in de fire­wall­re­gels.
  • Po­werS­hell-modules: Er zijn Po­werS­hell-modules die speciaal zijn ont­wik­keld voor het gebruik van SSH, zoals de module ‘PSSession’ of ‘Posh-SSH’. U moet con­tro­le­ren of de bij­be­ho­ren­de module op uw systeem is ge­ïn­stal­leerd om de SSH-func­ti­o­na­li­teit in Po­werS­hell te kunnen gebruiken.
  • Au­to­ri­sa­ties: U hebt be­heer­ders­rech­ten of verhoogde rechten en een wacht­woord of SSH-sleutel nodig om SSH-ver­bin­din­gen vanaf uw lokale computer tot stand te brengen en toegang te krijgen tot de externe server.

Staps­ge­wij­ze in­struc­ties voor het gebruik van Po­werS­hell SSH

Voordat u Secure Shell (SSH) in Po­werS­hell kunt gebruiken, moet u de OpenSSH-server instellen. Ver­vol­gens kunt u de Po­werS­hell SSH-sessie starten en op­drach­ten uitvoeren op het externe systeem.

Stap 1: OpenSSH in­stal­le­ren

Klik op het startmenu of typ ‘Po­werS­hell’ in de zoekbalk. Selecteer Als ad­mi­ni­stra­tor uitvoeren. Hierdoor wordt Windows Po­werS­hell geopend. U kunt de volgende Po­werS­hell-opdracht gebruiken om de OpenSSH-functie op uw Windows-computer te in­stal­le­ren:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
po­wers­hell

Stap 2: Start de OpenSSH-service

Zodra de in­stal­la­tie is voltooid, kunt u de OpenSSH-service starten:

Start-Service sshd
po­wers­hell

U kunt con­tro­le­ren of de OpenSSH-service actief is:

Get-Service sshd
po­wers­hell

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-ser­ver­ser­vi­ce au­to­ma­tisch

Om de OpenSSH-ser­ver­ser­vi­ce bij elke herstart van Windows te activeren, kunt u de volgende opdracht invoeren:

Set-Service -Name sshd -StartupType 'Automatic'
po­wers­hell

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
po­wers­hell

Stap 5: Maak een SSH-ver­bin­ding

U kunt nu vanaf een ander apparaat inloggen met uw SSH-server. Open hiervoor Po­werS­hell op uw client-pc en voer de SSH-opdracht in met de ge­brui­kers­naam en het ser­ver­adres.

ssh username@servername
po­wers­hell

Vervang ‘ge­brui­kers­naam’ door uw SSH-ge­brui­kers­naam en ‘ser­ver­naam’ door het IP-adres of de hostnaam van de externe server. Wanneer u de opdracht start, wordt u gevraagd uw SSH-wacht­woord in te voeren, tenzij u de SSH-sleutel gebruikt voor au­then­ti­ca­tie.

Afbeelding: PowerShell: SSH login
Enter the SSH password

Stap 6: Werk in de SSH-sessie

Zodra u een SSH-ver­bin­ding tot stand hebt gebracht, kunt u op­drach­ten op de externe server uitvoeren alsof u fysiek op de server bent aangemeld. Om de SSH-sessie te be­ëin­di­gen en terug te keren naar de lokale Po­werS­hell, kunt u de opdracht exit gebruiken.

Er zijn een aantal SSH-op­drach­ten in Po­werS­hell. De opdracht pwd staat voor ‘print working directory’ en toont u de huidige werk­di­rec­to­ry, bij­voor­beeld:

Afbeelding: PowerShell SSH commands using PWD as an example
Example for SSH commands in Po­werS­hell

Hier is een lijst met op­drach­ten die u kunt gebruiken in Po­werS­hell 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: Ver­wij­dert bestanden of mappen
  • mv/Move-Item: Ver­plaatst of hernoemt bestanden en mappen
  • useradd: Voegt een nieuwe gebruiker toe
  • scp: Bestanden over­bren­gen tussen client en server

Meer op­drach­ten vindt u in ons overzicht van Po­werS­hell-op­drach­ten.

Ga naar hoofdmenu