ssh

SSH Port Forwarding på Linux

SSH Port Forwarding på Linux
SSH Port-videresending brukes til å videresende porter mellom en lokal og en ekstern Linux-maskin ved bruk av SSH-protokoll. Den brukes hovedsakelig til å kryptere forbindelser til forskjellige applikasjoner. Selv om det programmet ikke støtter SSL-kryptering, kan videresending av SSH opprette en sikker tilkobling. Du kan til og med bruke videresending av port for å eksponere en maskin for internett uten en internett-rutbar IP-adresse, slik at du får tilgang til den eksternt og sikkert. Det er mange flere bruksområder for videresending av SSH-porter.

Det er hovedsakelig to typer videresending av SSH-porter. Lokal port videresending og ekstern port videresending.

I denne artikkelen vil jeg vise deg hvordan du gjør portoverføring på Linux. For å følge denne artikkelen må du ha SSH-verktøy installert på Linux-maskinen din. Jeg vil vise deg hvordan du gjør det, ikke bekymre deg. La oss komme i gang.

Installere SSH-verktøy på Red Hat Enterprise Linux (RHEL) 7 og CentOS 7

På RHEL 7 og CentOS 7 kan du installere SSH-verktøy med følgende kommando:

$ sudo yum installerer openssh-klienter openssh-server

trykk y og trykk deretter på å fortsette.

SSH Utilities bør installeres.

Installere SSH-verktøy på Ubuntu, Debian og annen Ubuntu / Debian-basert distribusjon

På Ubuntu, Debian, Linux Mint og andre distribusjoner basert på operativsystemet Ubuntu / Debian, kjør følgende kommando for å installere SSH-verktøy:

$ sudo apt-get install openssh-client openssh-server

Trykk nå y og trykk deretter på å fortsette.

SSH Utilities bør installeres.

Installere SSH-verktøy på Arch Linux

Hvis du bruker Arch Linux, kjører du følgende kommando for å installere SSH-verktøy:

$ sudo pacman -Sy openssh

Trykk nå y og trykk deretter på .

SSH-verktøy bør installeres.

På Arch Linux startes ikke SSH-server som standard. Du må starte den manuelt med følgende kommando:

$ sudo systemctl start sshd

Legg nå SSH-server til systemoppstarten, slik at den starter automatisk når systemet starter:

$ sudo systemctl aktiver sshd

Lokal portvideresending

Lokal portvideresending brukes til å videresende en port på en ekstern server på en annen port på en lokal datamaskin. Et eksempel vil hjelpe deg å forstå hva jeg mener.

La oss si at du har en server, server1 som har en IP-adresse på 192.168.199.153. server1 har en webserver som kjører. Selvfølgelig hvis du er koblet til samme nettverk som serveren server1, så kan du skrive inn IP-adressen i nettleseren og koble til server1 fra datamaskinen. Men hva om du vil få tilgang til det som om tjenesten kjører på datamaskinen din på en eller annen port? Vel, det er det lokale portvideresending gjør.

Som du kan se på skjermbildet nedenfor, har jeg tilgang til webserveren på server1 bruker IP-adressen:

Kjør nå følgende kommando fra din lokale datamaskin for å videresende port 80 (http) til port 6900 (la oss si) til din lokale datamaskin:

$ ssh -L 6900: 192.168.199.153: 80 lokal vert

Skriv inn ja og trykk deretter på å fortsette.

Skriv inn passordet til den lokale datamaskinen og trykk på .

Du er koblet sammen.

Nå kan du få tilgang til webserveren du gjorde før som http: // localhost: 6900 som du kan se på skjermbildet nedenfor.

Ekstern videresending av port

Ekstern portvideresending er videresending av en port på en lokal server / datamaskin til en ekstern server. Så selv om den lokale serveren / datamaskinen ikke har IP-adresse som kan rutes via Internett, kan du fortsatt koble til den ved hjelp av den eksterne server-IP-en og den videresendte porten.

La oss si at du vil koble til webserveren til din lokale datamaskin fra internett. Men den har ikke en internett-rutbar IP-adresse. Du kan bruke en ekstern (for eksempel VPS) server som er tilgjengelig fra internett og gjøre ekstern portvideresending med den. Jeg har ikke VPS. La oss bare anta server1 er den eksterne serveren.

Konfigurer først server1 serveren slik at viderekoblede porter kan nås via internett.

For å gjøre det, rediger / etc / sshd_config med følgende kommando:

$ sudo nano / etc / sshd_config

Du ser følgende vindu.

Rull ned og finn GatewayPorts som markert i skjermbildet nedenfor.

Nå kommenter det og sett det til ja som markert i skjermbildet nedenfor.

Trykk nå + x og trykk deretter på y og trykk deretter på for å lagre filen.

Start deretter SSH-serveren på nytt server1 med følgende kommando:

$ sudo systemctl start sshd på nytt

På min lokale datamaskin kjører en webserver som du kan se på skjermbildet nedenfor.

Nå kan du kjøre følgende kommando fra den lokale datamaskinen for å videresende port 80 (http) av din lokale datamaskin til port 9999 på den eksterne serveren server1 som har IP-adresse 192.168.199.153:

$ ssh -R 9999: localhost: 80 192.168.199.153

Skriv inn ja og trykk .

Skriv inn passordet til den eksterne serveren server1.

Du er koblet sammen.

Som du kan se fra skjermbildet nedenfor, kan jeg koble til porten 9999 på den eksterne serveren min server1 og få tilgang til min lokale webserver.

Jeg kan også koble til webserveren min ved hjelp av IP-adressen til den eksterne serveren server1 og den videresendte havnen 9999 fra andre datamaskiner i nettverket mitt som du kan se fra skjermbildet nedenfor.

Slik gjør du SSH-port videresending på Linux. Takk for at du leser denne artikkelen.

Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...
Hvordan fange opp og streame spilløkten din på Linux
Tidligere ble spill bare ansett som en hobby, men med tiden så spillindustrien en enorm vekst når det gjelder teknologi og antall spillere. Spillpubli...