netwerkbeveiligingssh

SSH port forwarding: veilig verbinden met interne diensten

Met SSH port forwarding kun je een versleutelde tunnel maken naar diensten die normaal niet van buitenaf bereikbaar zijn — zoals een database, een beheerinterface of een interne webserver.

Hoe het werkt

SSH tunnel schema

De tunnel loopt van je lokale machine via een SSH-verbinding naar de server. De server maakt dan intern verbinding met de doeldienst. Verkeer tussen jou en de server is volledig versleuteld.

Local port forwarding

De meestgebruikte variant: een poort op je eigen machine wordt doorgestuurd via de server.

ssh -L 8080:localhost:5432 gebruiker@mijnserver.nl
OnderdeelBetekenis
8080Lokale poort op je eigen machine
localhost:5432Doeladres vanuit de server gezien
gebruiker@mijnserver.nlSSH-verbinding

Na dit commando kun je op je eigen machine verbinden met localhost:8080 en bereik je de PostgreSQL-database op de server.

Praktijkvoorbeelden

Database beheren via pgAdmin

ssh -L 5432:localhost:5432 gebruiker@dbserver.nl

Open daarna pgAdmin en verbind met localhost:5432 — alsof de database lokaal draait.

Interne webinterface bekijken

ssh -L 8080:192.168.1.10:80 gebruiker@jumpserver.nl

Hier wordt het verkeer niet naar localhost op de server gestuurd maar naar een ander intern adres (192.168.1.10). Handig als de server een springplank is naar een intern netwerk.

Tunnel op de achtergrond draaien

ssh -fNL 8080:localhost:5432 gebruiker@mijnserver.nl
  • -f — ga naar de achtergrond
  • -N — voer geen commando uit, alleen de tunnel

Afsluiten doe je daarna met:

pkill -f "ssh -fNL 8080"

Remote port forwarding

Het omgekeerde: een poort op de server wordt doorgestuurd naar je lokale machine. Nuttig als je iemand anders tijdelijk toegang wil geven tot een dienst op je laptop.

ssh -R 9090:localhost:3000 gebruiker@mijnserver.nl

Nu is poort 9090 op de server bereikbaar en stuurt het verkeer door naar je lokale poort 3000.