Configure Port Forwarding to Remotely Access Your Synology NAS | Synology
Indholdsfortegnelse:
- Lokal havneforsendelse
- Videresendelse af fjernport
- Dynamisk portvideresendelse
- Konfigurer SSH-tunnel i Windows
- Konklusion
SSH-tunneling eller SSH-portvideresendelse er en metode til at oprette en krypteret SSH-forbindelse mellem en klient og en servermaskine, gennem hvilken serviceporte kan videresendes.
SSH-videresendelse er nyttig til transport af netværksdata for tjenester, der bruger en ikke-krypteret protokol, såsom VNC eller FTP, adgang til geobegrænset indhold eller omgå mellemliggende firewalls. Grundlæggende kan du videresende enhver TCP-port og tunnel trafikken over en sikker SSH-forbindelse.
Der er tre typer SSH-portvideresendelse:
- Lokal havneforsendelse. - Videresender en forbindelse fra klientværten til SSH-serverværten og derefter til destinationens værthavn. Fjern portvideresendelse. - Videresender en port fra serverværten til klientværten og derefter til destinationens værtport.Dynamisk portvideresendelse. - Opretter SOCKS-proxyserver, der tillader kommunikation på tværs af en række porte.
, vi vil tale om, hvordan man indstiller lokale, fjerntliggende og dynamiske krypterede SSH-tunneler.
Lokal havneforsendelse
Lokal portvideresendelse giver dig mulighed for at videresende en port på den lokale (ssh-klient) maskine til en port på den eksterne (ssh-server) maskine, som derefter videresendes til en port på destinationsmaskinen.
I denne type videresendelse lytter SSH-klienten på en given port og tunneler enhver forbindelse til den port til den specificerede port på den eksterne SSH-server, som derefter opretter forbindelse til en port på destinationsmaskinen. Destinationsmaskinen kan være den eksterne SSH-server eller en hvilken som helst anden maskine.
Lokal portvideresendelse bruges mest til at oprette forbindelse til en fjerntjeneste på et internt netværk, såsom en database eller VNC-server.
I Linux overfører macOS og andre Unix-systemer til oprettelse af en lokal portvideresendelse optionen
-L
til
ssh
klienten:
ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
De anvendte indstillinger er som følger:
-
LOCAL_PORT
- Den lokaleLOCAL_PORT
ip og portnummer. NårLOCAL_IP
udelades, bindes ssh-klienten på localhost.DESTINATION:DESTINATION_PORT
- IP- eller hostnavnet og porten på destinationsmaskinen.SERVER_IP
- Den eksterne SSH-bruger og server-IP-adresse.
Du kan bruge et hvilket som helst portnummer, der er større end
1024
som en
LOCAL_PORT
. Portnumre mindre end
1024
er privilegerede porte og kan kun bruges af rod. Hvis din SSH-server lytter på en anden port end 22 (standard), skal du bruge indstillingen
-p
.
Destinationens værtsnavn skal kunne løses fra SSH-serveren.
Lad os sige, at du har en MySQL-databaseserver, der kører på maskine
db001.host
på et internt (privat) netværk, på port 3306, som er tilgængelig fra
pub001.host
og du vil oprette forbindelse via din lokale
pub001.host
mysql
klient til databaseserveren. For at gøre det kan du videresende forbindelsen sådan:
ssh -L 3336:db001.host:3306 [email protected]
Når du har kørt kommandoen, bliver du bedt om at indtaste den eksterne SSH-brugeradgangskode. Når du har indtastet den, bliver du logget på den eksterne server, og SSH-tunnelen etableres. Det er en god ide at konfigurere en SSH-nøglebaseret godkendelse og oprette forbindelse til serveren uden at indtaste et kodeord.
Hvis du nu peger din lokale maskindatabaseklient til
127.0.0.1:3336
, vil forbindelsen blive videresendt til
db001.host:3306
MySQL-server gennem
pub001.host
maskinen, der fungerer som en mellemliggende server.
Du kan videresende flere porte til flere destinationer i en enkelt ssh-kommando. For eksempel har du en anden MySQL-databaseserver, der kører på maskinen
db002.host
og du vil oprette forbindelse til begge servere fra din lokale klient, du vil køre:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]
For at oprette forbindelse til den anden server skal du bruge
127.0.0.1:3337
.
Når destinationshost er det samme som SSH-serveren i stedet for at specificere destinationshost IP eller værtsnavn, kan du bruge
localhost
.
Lad os sige, at du er nødt til at oprette forbindelse til en fjernmaskine via VNC, der kører på den samme server, og at den ikke er tilgængelig udefra. Den kommando, du vil bruge, er:
ssh -L 5901:127.0.0.1:5901 -N -f [email protected]
Indstillingen
-f
fortæller
ssh
kommandoen at køre i baggrunden og
-N
ikke at udføre en fjernkommando. Vi bruger
localhost
fordi VNC og SSH-serveren kører på den samme vært.
Videresendelse af fjernport
Videresendelse af fjernport er det modsatte af lokal havnevideresendelse. Det giver dig mulighed for at videresende en port på den eksterne (ssh server) maskine til en port på den lokale (ssh klient) maskine, som derefter videresendes til en port på destinationsmaskinen.
I denne type videresendelse lytter SSH-serveren på en given port og tunneler enhver forbindelse til den port til den specificerede port på den lokale SSH-klient, som derefter opretter forbindelse til en port på destinationsmaskinen. Destinationsmaskinen kan være den lokale eller enhver anden maskine.
I Linux overfører macOS og andre Unix-systemer til oprettelse af en fjernport-videresendelse muligheden
-R
til
ssh
klienten:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
De anvendte indstillinger er som følger:
-
REMOTE_PORT
- IP og portnummeret på den eksterne SSH-server. En tomREMOTE
betyder, at den eksterne SSH-server bindes på alle grænseflader.DESTINATION:DESTINATION_PORT
- IP- eller hostnavnet og porten på destinationsmaskinen.SERVER_IP
- Den eksterne SSH-bruger og server-IP-adresse.
Lokal havneforsendelse bruges hovedsageligt til at give adgang til en intern service til nogen udefra.
Lad os sige, at du udvikler en webapplikation på din lokale maskine, og du vil vise en forhåndsvisning til din medudvikler. Du har ikke en offentlig IP, så den anden udvikler kan ikke få adgang til applikationen via Internettet.
ssh -L 8080:127.0.0.1:3000 -N -f [email protected]
Kommandoen ovenfor får ssh-server til at lytte på port
8080
og tunnel al trafik fra denne port til din lokale maskine på port
3000
.
Nu kan din medudvikler skrive
the_ssh_server_ip:8080
i hans / hendes browser og få vist et fantastisk program.
Dynamisk portvideresendelse
Dynamisk portvideresendelse giver dig mulighed for at oprette en socket på den lokale (ssh-klient) maskine, der fungerer som en SOCKS-proxyserver. Når en klient opretter forbindelse til denne port, videresendes forbindelsen til den eksterne (ssh-server) maskine, der derefter videresendes til en dynamisk port på destinationsmaskinen.
På denne måde opretter alle applikationer, der bruger SOCKS-proxy, forbindelse til SSH-serveren, og serveren videresender al trafik til dens faktiske destination.
I Linux overfører macOS og andre Unix-systemer til at oprette en dynamisk portvideresendelse (SOCKS) optionen
-D
til
ssh
klienten:
ssh -D LOCAL_PORT SSH_SERVER
De anvendte indstillinger er som følger:
-
LOCAL_PORT
- Den lokaleLOCAL_PORT
ip og portnummer. NårLOCAL_IP
udelades, bindes ssh-klienten på localhost.SERVER_IP
- Den eksterne SSH-bruger og server-IP-adresse.
Et typisk eksempel på en dynamisk portvideresendelse er at tunnelere webbrowser-trafikken gennem en SSH-server.
Følgende kommando opretter en SOCKS-tunnel på port
9090
:
ssh -D 9090 -N -f [email protected]
Når tunnelen er etableret, kan du konfigurere din applikation til at bruge den. Denne artikel forklarer, hvordan du konfigurerer Firefox og Google Chrome browser til at bruge SOCKS-proxy.
Portvideresendelsen skal konfigureres separat for hvert program, du vil tunnelere trafikken, troede det var.
Konfigurer SSH-tunnel i Windows
Windows-brugere kan oprette SSH-tunneler ved hjælp af PuTTY SSH-klienten. Du kan downloade PuTTY her.
-
Start kitt, og indtast SSH-serverens IP-adresse i feltet
Host name (or IP address)
.Et nyt vindue, der beder om dit brugernavn og din adgangskode, vises. Når du indtaster dit brugernavn og din adgangskode, vil du være logget på din server, og SSH-tunnelen startes.
Opsætning af godkendelse af offentlig nøgle giver dig mulighed for at oprette forbindelse til din server uden at indtaste en adgangskode.
Konklusion
Vi har vist dig, hvordan du indstiller SSH-tunneler og videresender trafikken gennem en sikker SSH-forbindelse. For at gøre det lettere at bruge det, kan du definere SSH-tunnelen i din SSH-konfigurationsfil eller oprette et Bash-alias, der opsætter SSH-tunnelen.
ssh sikkerhedSådan konfigureres og konfigureres indstillinger for router-firewall

Lær hvordan du konfigurerer router-firewall, adgang til hardware-router-siden, konfigurer router-firewallindstillinger. Find ud af hvilke porte der er nødvendige på computeren.
Sådan konfigureres adgangskode uden ssh-login

I denne artikel viser vi dig, hvordan du opsætter en SSH-nøglebaseret godkendelse og opretter forbindelse til dine Linux-servere uden en adgangskode.
Sådan konfigureres ssh-nøgler på centos 7

Denne tutorial forklarer, hvordan man genererer SSH-nøgler på CentOS 7-systemer. Vi vil også vise dig, hvordan du konfigurerer en SSH-nøglebaseret godkendelse og opretter forbindelse til dine eksterne Linux-servere uden at indtaste et kodeord.