Er zijn hoofdzakelijk twee soorten SSH-poortdoorschakeling:. Lokale poort doorsturen en externe poort doorsturen.
In dit artikel laat ik je zien hoe je port forwarding doet op Linux. Om dit artikel te volgen, moet je SSH-hulpprogramma's op je Linux-machine hebben geïnstalleerd. Ik zal je laten zien hoe je het moet doen, maak je geen zorgen. Laten we beginnen.
SSH-hulpprogramma's installeren op Red Hat Enterprise Linux (RHEL) 7 en CentOS 7
Op RHEL 7 en CentOS 7 kunt u SSH-hulpprogramma's installeren met de volgende opdracht:
$ sudo yum install openssh-clients openssh-server
druk op ja en druk vervolgens op
SSH-hulpprogramma's moeten zijn geïnstalleerd.
SSH-hulpprogramma's installeren op Ubuntu, Debian en andere op Ubuntu/Debian gebaseerde distributie
Voer op Ubuntu, Debian, Linux Mint en andere distributies op basis van het Ubuntu/Debian-besturingssysteem de volgende opdracht uit om SSH-hulpprogramma's te installeren:
$ sudo apt-get install openssh-client openssh-server
Druk nu op ja en druk vervolgens op
SSH-hulpprogramma's moeten zijn geïnstalleerd.
SSH-hulpprogramma's installeren op Arch Linux
Als u Arch Linux gebruikt, voert u de volgende opdracht uit om SSH-hulpprogramma's te installeren:
$ sudo pacman -Sy openssh
Druk nu op ja en druk vervolgens op
SSH-hulpprogramma's moeten zijn geïnstalleerd.
Op Arch Linux wordt de SSH-server niet standaard gestart. U moet het handmatig starten met de volgende opdracht:
$ sudo systemctl start sshd
Voeg nu SSH-server toe aan het opstarten van het systeem, zodat het automatisch start wanneer het systeem opstart:
$ sudo systemctl sshd inschakelen
Lokale poort doorsturen
Local port forwarding wordt gebruikt om een poort van een externe server op een andere poort van een lokale computer door te sturen. Een voorbeeld zal je helpen begrijpen wat ik bedoel.
Laten we zeggen dat je een server hebt, server1 die een IP-adres heeft van 192.168.199.153. server1 heeft een webserver draaien. Natuurlijk als je verbonden bent met hetzelfde netwerk als de server server1, dan kunt u het IP-adres in de browser typen en verbinding maken met server1 vanaf je computer. Maar wat als u er toegang toe wilt hebben alsof de service op een of andere poort op uw computer draait?? Nou, dat is wat lokale port forwarding doet.
Zoals je kunt zien in de onderstaande schermafbeelding, heb ik toegang tot de webserver op server1 met behulp van zijn IP-adres:
Voer nu de volgende opdracht uit vanaf uw lokale computer om poort 80 (http) door te sturen naar poort 6900 (laten we zeggen) naar uw lokale computer:
$ ssh -L 6900:192.168.199.153:80 lokale host
Typ in Ja en druk vervolgens op
Typ nu het wachtwoord van uw lokale computer en druk op
Je bent verbonden.
Nu heb je toegang tot de webserver die je eerder deed als http://localhost:6900 zoals je kunt zien in de onderstaande schermafbeelding.
Externe poort doorsturen
Remote port forwarding is het doorsturen van een poort van een lokale server/computer naar een externe server. Dus zelfs als uw lokale server/computer geen internet-routeerbaar IP-adres heeft, kunt u er nog steeds verbinding mee maken via het externe server-IP en de doorgestuurde poort.
Stel dat u vanaf internet verbinding wilt maken met de webserver van uw lokale computer. Maar het heeft geen internet-routeerbaar IP-adres. U kunt een externe (zoals VPS) server gebruiken die toegankelijk is vanaf internet en hiermee externe poortdoorschakeling uitvoeren. Ik heb geen VPS. Laten we aannemen dat server1 is de externe server.
Eerst configureren server1 server om doorgestuurde poorten via internet toegankelijk te maken.
Om dat te doen, bewerkt u /etc/sshd_config met het volgende commando:
$ sudo nano /etc/sshd_config
U zou het volgende venster moeten zien:.
Scroll naar beneden en vind Gatewaypoorten zoals aangegeven in de onderstaande schermafbeelding.
Maak het commentaar los en stel het in op Ja zoals aangegeven in de onderstaande schermafbeelding.
Druk nu op
Herstart nu de SSH-server van restart server1 met het volgende commando:
$ sudo systemctl herstart sshd
Op mijn lokale computer draait een webserver zoals je kunt zien in de onderstaande schermafbeelding.
Nu kunt u de volgende opdracht uitvoeren vanaf de lokale computer om poort door te sturen: 80 (http) van uw lokale computer naar poort 9999 op de externe server server1 die een IP-adres heeft 192.168.199.153:
$ ssh -R 9999:localhost:80 192.168.199.153
Typ in Ja en druk op
Typ het wachtwoord van uw externe server server1.
Je bent verbonden.
Zoals je kunt zien aan de onderstaande schermafbeelding, kan ik verbinding maken met poort 9999 op mijn externe server server1 en toegang krijgen tot mijn lokale webserver.
Ik kan ook verbinding maken met mijn webserver via het IP-adres van de externe server server1 en de doorgestuurde poort 9999 van andere computers in mijn netwerk, zoals je kunt zien in de onderstaande schermafbeelding.
Zo doe je SSH port forwarding op Linux. Bedankt voor het lezen van dit artikel.