Startpagina > Netwerkbeheer > ssh-tunnel

ssh-tunnel: SSH-tunneling instellen

SSH-tunneling is een techniek om netwerkverkeer door een versleutelde SSH-verbinding te leiden. Hiermee kunt u firewalls omzeilen of veilig toegang krijgen tot services via onveilige netwerken. 'ssh-tunnel' is geen aparte opdracht, maar wordt doorgaans geïmplementeerd met behulp van de port forwarding-functionaliteit van de 'ssh'-opdracht.

Overzicht

SSH-tunneling wordt gebruikt in verschillende netwerkscenario's via lokale poort, externe poort of dynamische poort forwarding. Het is een krachtige methode om de beveiliging van gegevens te verbeteren en netwerkbeperkingen te omzeilen.

Belangrijkste kenmerken

  • **Beveiligde communicatie**: Al het verkeer wordt verzonden via een versleutelde SSH-verbinding.
  • **Firewall-omzeiling**: Helpt bij het verkrijgen van toegang tot specifieke services in beperkte netwerkomgevingen.
  • **Toegang tot externe services**: Biedt veilige toegang tot services in een extern netwerk vanaf een lokale machine.
  • **Gegevensversleuteling**: Verbetert de beveiliging bij het verzenden van gegevens via openbare netwerken.

Belangrijkste opties (tunneling via SSH-opdracht)

SSH-tunneling wordt geïmplementeerd met specifieke opties van de 'ssh'-opdracht. Hieronder vindt u de belangrijkste port forwarding-opties en gerelateerde opties.

Lokale poort forwarding

Externe poort forwarding

Dynamische poort forwarding (SOCKS-proxy)

Andere nuttige opties

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`ssh-tunnel` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Voorbeelden van verschillende scenario's die gebruikmaken van SSH-tunneling.

Lokale poort forwarding (toegang tot webserver)

ssh -L 8080:192.168.1.100:80 user@remote_server

Toegang krijgen tot de webserver op 192.168.1.100:80 binnen de externe server (remote_server) via lokale poort 8080.

Externe poort forwarding (lokale service blootstellen)

ssh -R 8080:localhost:80 user@remote_server

Toestaan dat toegang wordt verkregen tot de lokale webserver (localhost:80) via poort 8080 van de externe server (remote_server).

Dynamische poort forwarding (SOCKS-proxy instellen)

ssh -D 1080 user@remote_server

Stelt lokale poort 1080 in als SOCKS-proxy, waardoor al het verkeer via die poort naar de externe server (remote_server) wordt getunneld. Configureer uw webbrowser om SOCKS-proxy in te stellen op localhost:1080.

Tunnel op de achtergrond onderhouden

ssh -Nf -L 8080:localhost:80 user@remote_server

Voert lokale poort forwarding uit op de achtergrond en voert geen externe opdrachten uit. De tunnel blijft actief, zelfs nadat de terminal is gesloten.

Installatie

'ssh-tunnel' is geen aparte opdracht, maar een concept dat gebruikmaakt van de port forwarding-functionaliteit van de 'ssh'-opdracht. De 'ssh'-opdracht is onderdeel van het OpenSSH clientpakket, dat op de meeste Linux-distributies standaard is geïnstalleerd.

  • Standaard installatie: De OpenSSH-client is op de meeste Linux-systemen standaard aanwezig.
  • Installatie controleren: U kunt de installatiestatus controleren met de opdracht `which ssh` of `ssh -V`.
  • Installatieopdracht (Debian/Ubuntu): `sudo apt update && sudo apt install openssh-client`
  • Installatieopdracht (CentOS/RHEL): `sudo yum install openssh-clients`

Tips & Aandachtspunten

Tips en aandachtspunten voor het effectief gebruiken van SSH-tunneling.

Nuttige tips

  • **Continue tunnel**: U kunt de tunnel continu op de achtergrond laten draaien door deze te gebruiken met terminalmultiplexers zoals `screen` of `tmux`, of door een `systemd`-service te creëren.
  • **SSH-configuratiebestand**: U kunt complexe opdrachten vereenvoudigen door tunnelinginstellingen op te slaan in het bestand `~/.ssh/config`. U kunt bijvoorbeeld een `Host mytunnel`-sectie toevoegen met de `-L`-optie.
  • **Automatische herverbinding**: U kunt tools zoals `autossh` gebruiken om ervoor te zorgen dat de SSH-tunnel automatisch opnieuw wordt verbonden als deze wordt verbroken.

Aandachtspunten

  • **Beveiliging**: Zorg ervoor dat de poorten die voor tunneling worden gebruikt niet conflicteren met andere services. Onnodige poort forwarding kan beveiligingsrisico's verhogen, dus gebruik het alleen indien nodig.
  • **Firewall-instellingen**: U moet controleren of de firewall op de lokale of externe server de poorten toestaat die worden gebruikt voor SSH-verbindingen en poort forwarding.
  • **Foutopsporing**: Als de tunnel niet werkt, gebruik dan de optie `ssh -v` om gedetailleerde debugberichten te bekijken en controleer met `netstat -tuln` of `lsof -i :<poort>` of de poort correct luistert.

Hétzelfde categoriecommando