Der er hovedsageligt to typer videresendelse af SSH-porte. Lokal portvideresendelse og videresendelse af fjernport.
I denne artikel vil jeg vise dig, hvordan du foretager portvideresendelse på Linux. For at følge denne artikel skal du have SSH-værktøjer installeret på din Linux-maskine. Jeg vil vise dig, hvordan du gør det. Bare rolig. Lad os komme igang.
Installation af SSH-værktøjer på Red Hat Enterprise Linux (RHEL) 7 og CentOS 7
På RHEL 7 og CentOS 7 kan du installere SSH-hjælpeprogrammer med følgende kommando:
$ sudo yum installerer openssh-klienter openssh-server
Trykke y og tryk derefter på
SSH Utilities skal installeres.
Installation af SSH-hjælpeprogrammer på Ubuntu, Debian og anden Ubuntu / Debian-baseret distribution
På Ubuntu, Debian, Linux Mint og andre distributioner baseret på Ubuntu / Debian-operativsystemet skal du køre følgende kommando for at installere SSH-hjælpeprogrammer:
$ sudo apt-get install openssh-client openssh-server
Tryk nu y og tryk derefter på
SSH Utilities skal installeres.
Installation af SSH-hjælpeprogrammer på Arch Linux
Hvis du bruger Arch Linux, skal du køre følgende kommando for at installere SSH-værktøjer:
$ sudo pacman -Sy openssh
Tryk nu y og tryk derefter på
SSH-værktøjer skal installeres.
På Arch Linux startes SSH-server ikke som standard. Du bliver nødt til at starte det manuelt med følgende kommando:
$ sudo systemctl start sshd
Føj nu SSH-server til systemstart, så den starter automatisk, når systemet starter:
$ sudo systemctl aktiver sshd
Lokal videresendelse af havne
Lokal portvideresendelse bruges til at videresende en port på en ekstern server på en anden port på en lokal computer. Et eksempel vil hjælpe dig med at forstå, hvad jeg mener.
Lad os sige, at du har en server, server1 som har en IP-adresse på 192.168.199.153. server1 har en webserver kørende. Selvfølgelig, hvis du har forbindelse til det samme netværk som serveren server1, så kan du indtaste IP-adressen i browseren og oprette forbindelse til server1 fra din computer. Men hvad nu hvis du vil have adgang til det, som om tjenesten kører på din computer i en eller anden port? Nå, det er hvad lokal portvideresendelse gør.
Som du kan se i skærmbilledet nedenfor, har jeg adgang til webserveren på server1 ved hjælp af dens IP-adresse:
Kør nu følgende kommando fra din lokale computer for at videresende port 80 (http) til port 6900 (lad os sige) til din lokale computer:
$ ssh -L 6900: 192.168.199.153: 80 lokal vært
Indtaste Ja og tryk derefter på
Indtast nu adgangskoden til din lokale computer, og tryk på
Du er forbundet.
Nu kan du få adgang til den webserver, du gjorde før som http: // localhost: 6900, som du kan se på skærmbilledet nedenfor.
Fjernport videresendelse
Remote port forwarding videresender en port på en lokal server / computer til en ekstern server. Så selvom din lokale server / computer ikke har internet-routbar IP-adresse, kan du stadig oprette forbindelse til den ved hjælp af fjernserverens IP og den videresendte port.
Lad os sige, at du vil oprette forbindelse til webserveren på din lokale computer fra internettet. Men den har ikke en internet-routbar IP-adresse. Du kan bruge en ekstern (som VPS) server, der er tilgængelig fra internettet og foretage videresendelse af port til den med den. Jeg har ikke en VPS. Lad os bare antage server1 er den eksterne server.
Konfigurer først server1 server for at give adgang til videresendte porte via internettet.
For at gøre det skal du redigere / etc / sshd_config med følgende kommando:
$ sudo nano / etc / sshd_config
Du skal se følgende vindue.
Rul ned og find GatewayPorts som markeret i skærmbilledet nedenfor.
Fjern nu kommentaren og sæt den til Ja som markeret i skærmbilledet nedenfor.
Tryk nu
Genstart nu SSH-serveren af server1 med følgende kommando:
$ sudo systemctl genstart sshd
På min lokale computer kører en webserver som du kan se i skærmbilledet nedenfor.
Nu kan du køre følgende kommando fra den lokale computer til at videresende port 80 (http) på din lokale computer til port 9999 på fjernserveren server1 som har IP-adresse 192.168.199.153:
$ ssh -R 9999: localhost: 80 192.168.199.153
Indtaste Ja og tryk på
Indtast adgangskoden til din eksterne server server1.
Du er forbundet.
Som du kan se fra skærmbilledet nedenfor, kan jeg oprette forbindelse til port 9999 på min eksterne server server1 og få adgang til min lokale webserver.
Jeg kan også oprette forbindelse til min webserver ved hjælp af fjernserverens IP-adresse server1 og den videresendte havn 9999 fra andre computere på mit netværk, som du kan se på skærmbilledet nedenfor.
Sådan foretager du SSH-portvideresendelse på Linux. Tak, fordi du læste denne artikel.