En SSH-klient forbinder til en Secure Shell-server, som giver dig mulighed for at køre terminalkommandoer som om du sad foran en anden computer. Men en SSH-klient giver dig også mulighed for at "tunnel" en port mellem dit lokale system og en ekstern SSH-server.
Der er tre forskellige typer SSH-tunneler, og de bruges alle til forskellige formål. Hver indebærer at bruge en SSH-server til at omdirigere trafik fra en netværksport til en anden. Trafikken sendes over den krypterede SSH-forbindelse, så den kan ikke overvåges eller ændres under transit.
Du kan gøre dette med kommandoenssh
, der er inkluderet på Linux, MacOS og andre UNIX-lignende operativsystemer. På Windows, som ikke indeholder en indbygget ssh-kommando, anbefaler vi det gratis værktøj PuTTY at oprette forbindelse til SSH-servere. Den understøtter også SSH-tunneling.
"Lokal portvideresendelse" giver dig adgang til lokale netværksressourcer, der ikke udsættes for internettet. Lad os f.eks. Sige, at du vil have adgang til en databaseserver på dit kontor fra dit hjem. Af sikkerhedsmæssige årsager er databaseserveren kun konfigureret til at acceptere forbindelser fra det lokale kontors netværk. Men hvis du har adgang til en SSH-server på kontoret, og at SSH-serveren tillader tilslutninger uden for kontornetværket, kan du oprette forbindelse til den pågældende SSH-server fra hjemmet og få adgang til databaseserveren som om du var på kontoret. Dette er ofte tilfældet, da det er lettere at sikre en enkelt SSH-server mod angreb end at sikre en række forskellige netværksressourcer.
For at gøre dette etablerer du en SSH-forbindelse med SSH-serveren og fortæller klienten at videresende trafik fra en bestemt port fra din lokale pc - for eksempel port 1234 - til adressen på databasens server og dens port på kontornetværket. Så når du forsøger at få adgang til databaseserveren i port 1234, bliver din nuværende pc, "localhost", trafikken automatisk "tunnelet" over SSH-forbindelsen og sendt til databaseserveren. SSH-serveren sidder i midten, videresender trafikken frem og tilbage. Du kan bruge en kommandolinje eller et grafisk værktøj til at få adgang til databaseserveren, som om den kørte på din lokale pc.
For at bruge lokal videresendelse skal du normalt oprette forbindelse til SSH-serveren, men også levere-L
argument. Syntaxen er:
ssh -L local_port: remote_address: remote_port [email protected]
Lad os sige at databaseserveren på dit kontor er placeret på 192.168.1.111 på kontornetværket. Du har adgang til kontorets SSH-server påssh.youroffice.com
, og din brugerkonto på SSH-serveren erbob
. I så fald vil din kommando se sådan ud:
ssh -L 8888: 192.168.1.111: 1234 [email protected]
Når du har kørt den kommando, kunne du få adgang til databaseserveren på port 8888 hos localhost. Så hvis databaseserveren tilbyder webadgang, kan du tilslutte // localhost: 8888 til din webbrowser for at få adgang til det. Hvis du havde et kommandolinjeværktøj, der kræver netværksadressen til en database, vil du pege på det på localhost: 8888. All trafik sendt til port 8888 på din pc vil blive tunnelet til 192.168.1.111:1234 på dit kontornetværk.
Det er lidt mere forvirrende, hvis du vil oprette forbindelse til et serverprogram, der kører på samme system som SSH-serveren selv . Lad os f.eks. Sige, at du har en SSH-server, der kører i port 22 på din computer, men du har også en databaseserver, der kører i port 1234 på samme system på samme adresse. Du vil have adgang til databaseserveren hjemmefra, men systemet accepterer kun SSH-forbindelser på port 22, og dets firewall tillader ikke andre eksterne forbindelser.
I dette tilfælde kan du køre en kommando som følgende:
ssh-L 8888: localhost: 1234 [email protected]
Når du forsøger at få adgang til databaseserveren i port 8888 på din nuværende pc, sendes trafikken via SSH-forbindelsen. Når den kommer til systemet, der kører SSH-serveren, sender SSH-serveren den til port 1234 på "localhost", som er den samme pc, der kører SSH-serveren selv. Så betyder "localhost" i kommandoen ovenfor "localhost" fra fjernserverens perspektiv.
For at gøre dette i PuTTY-applikationen på Windows, skal du vælge Forbindelse> SSH> Tunneler. Vælg "Lokal" indstillingen. For "Source Port" skal du indtaste den lokale port. For "Destination" skal du indtaste destinationsadressen og porten i formularen remote_address: remote_port.
Hvis du f.eks. Ville opsætte den samme SSH-tunnel som ovenfor, ville du indtaste8888
som kildeport oglocalhost: 1234
som destination. Klik på "Tilføj" efterfølgende, og klik derefter på "Åbn" for at åbne SSH-forbindelsen. Du skal også indtaste adressen og porten på SSH-serveren selv på hovedskærmen "Session" før du tilslutter selvfølgelig.
"Fjernadapter "Er modsat af lokal forwarding, og bruges ikke så ofte. Det giver dig mulighed for at lave en ressource på din lokale pc, der er tilgængelig på SSH-serveren. Lad os f.eks. Sige, at du kører en webserver på den lokale pc, du sidder foran. Men din pc er bag en firewall, der ikke tillader indgående trafik til serversoftwaren.
Hvis du antager, at du kan få adgang til en ekstern SSH-server, kan du oprette forbindelse til den pågældende SSH-server og bruge fjernadapter. Din SSH-klient vil fortælle serveren at videresende en bestemt port-say-port 1234-på SSH-serveren til en bestemt adresse og port på din nuværende pc eller det lokale netværk. Når nogen åbner porten 1234 på SSH-serveren, bliver denne trafik automatisk "tunnelet" over SSH-forbindelsen. Enhver med adgang til SSH-serveren vil kunne få adgang til webserveren, der kører på din pc. Dette er effektivt en måde at tunnel gennem firewalls.
Hvis du vil bruge fjernoverførsel, skal du bruge kommandoenssh
med argumentet-R
. Syntaxen er stort set den samme som ved lokal videresendelse:
ssh -R remote_port: local_address: local_port [email protected]
Lad os sige, at du vil lytte til et serverprogram i port 1234 på din lokale pc, der er tilgængelig på havnen 8888 på den eksterne SSH-server. SSH-serverens adresse erssh.youroffice.com
, og dit brugernavn på SSH-serveren er bob . Du vil køre følgende kommando:
ssh-R 8888: localhost: 1234 [email protected]
Nogen kunne derefter oprette forbindelse til SSH-serveren i port 8888, og denne forbindelse ville blive tunnelet til serverapplikationen kører i port 1234 på den lokale pc, du etablerede forbindelsen fra.
For at gøre dette i PuTTY på Windows skal du vælge Forbindelse> SSH> Tunneler. Vælg alternativet "Fjern". For "Source Port" skal du indtaste fjernporten. For "Destination" skal du indtaste destinationsadressen og porten i formularen local_address: local_port.
Hvis du f.eks. Ville opsætte ovenstående eksempel, skal du indtaste8888
som kildeporten oglocalhost: 1234
som destinationen. Klik på "Tilføj" efterfølgende, og klik derefter på "Åbn" for at åbne SSH-forbindelsen. Du skal også indtaste adressen og porten på SSH-serveren selv på hovedskærmen "Session" før du tilslutter selvfølgelig.
Folk kunne derefter oprette forbindelse til port 8888 på SSH-serveren, og deres trafik ville blive tunnelet til port 1234 på dit lokale system.
Som standard lytter den eksterne SSH-server kun til forbindelser fra samme vært. Med andre ord vil kun personer på samme system som SSH-serveren selv kunne oprette forbindelse. Dette er af sikkerhedsmæssige grunde. Du skal aktivere indstillingen "GatewayPorts" i sshd_config på den eksterne SSH-server, hvis du vil tilsidesætte denne adfærd.
RELATED: Hvad er den Forskel mellem en VPN og en proxy?
Der er også "dynamisk port forwarding", som fungerer på samme måde som en proxy eller VPN. SSH-klienten opretter en SOCKS-proxy, som du kan konfigurere applikationer til at bruge. Al den trafik, der sendes via proxyen, sendes via SSH-serveren. Dette ligner lokal forwarding-det tager lokal trafik sendt til en bestemt port på din pc og sender den over SSH-forbindelsen til en fjernplacering.
RELATERET: Hvorfor bruge et offentligt Wi-Fi-netværk kan være farligt, selv når du åbner krypterede websteder
Lad os f.eks. Sige, at du bruger et offentligt Wi-Fi-netværk. Du vil gennemse sikkert uden at snooped på. Hvis du har adgang til en SSH-server derhjemme, kan du oprette forbindelse til den og bruge dynamisk port videresendelse. SSH-klienten opretter en SOCKS-proxy på din pc. All trafik sendt til denne proxy vil blive sendt via SSH-serverforbindelsen. Ingen, der overvåger det offentlige Wi-Fi-netværk, vil kunne overvåge din browsing eller censurere de websteder, du kan få adgang til. Ud fra et websted, du besøger, vil det være som om du sad foran din pc derhjemme. Dette betyder også, at du kan bruge dette trick til at få adgang til USA's eneste websteder uden for USA, idet du antager at du har adgang til en SSH-server i USA.
Som et andet eksempel kan du få adgang til et medie server applikation, du har på dit hjemmenetværk. Af sikkerhedsgrunde må du kun have en SSH-server udsat for internettet. Du tillader ikke indgående forbindelser fra internettet til dit medieserverprogram. Du kan oprette dynamisk portvideresendelse, konfigurere en webbrowser til at bruge SOCKS-proxyen og derefter få adgang til servere, der kører på dit hjemmenetværk gennem webbrowseren, som om du sad foran dit SSH-system derhjemme. Hvis din medieserver f.eks. Er placeret i port 192.168.1.123 på dit hjemmenetværk, kan du tilslutte adressen192.168.1.123
til ethvert program ved hjælp af SOCKS-proxyen, og du ville få adgang til medieserveren som om du var på dit hjemmenetværk.
For at bruge dynamisk videresendelse skal du køre ssh-kommandoen med argumentet-D
som sådan:
ssh -D local_port [email protected]
For Lad os sige, at du har adgang til en SSH-server påssh.yourhome.com
, og dit brugernavn på SSH-serveren erbob
. Du vil bruge dynamisk viderestilling til at åbne en SOCKS-proxy i port 8888 på den aktuelle pc. Du vil køre følgende kommando:
ssh-D 8888 [email protected]
Du kan derefter konfigurere en webbrowser eller et andet program til at bruge din lokale IP-adresse (127.0.01) og port 8888. Alle trafik fra den pågældende applikation vil blive omdirigeret gennem tunnelen.
For at gøre dette i PuTTY på Windows skal du vælge Forbindelse> SSH> Tunneler. Vælg indstillingen "Dynamisk". For "Source Port" skal du indtaste den lokale port.
Hvis du f.eks. Ville oprette en SOCKS-proxy på port 8888, skulle du indtaste8888
som kildeporten. Klik på "Tilføj" efterfølgende, og klik derefter på "Åbn" for at åbne SSH-forbindelsen. Du skal også indtaste adressen og porten på SSH-serveren selv på hovedskærmen "Session" før du tilslutter selvfølgelig.
Du kan derefter konfigurere et program for at få adgang til SOCKS-proxyen på din lokale pc (det vil sige, IP-adresse 127.0.0.1, som peger på din lokale pc) og angive den korrekte port.
RELATED: Sådan konfigureres en proxyserver i Firefox
Du kan f.eks. Konfigurere Firefox til at bruge SOCKS-proxyen . Dette er særligt nyttigt, fordi Firefox kan have sine egne proxyindstillinger og behøver ikke at bruge system-wide proxy-indstillinger. Firefox sender sin trafik via SSH-tunnelen, mens andre applikationer normalt bruger din internetforbindelse. Når du gør dette i Firefox, skal du vælge "Manuel proxy-konfiguration", indtaste "127.0.0.1" i SOCKS-værtsboksen og indtaste den dynamiske port i "Port" boksen. Efterlad HTTP Proxy-, SSL Proxy- og FTP Proxy-bokse tomme.
Tunneln forbliver aktiv og åben, så længe du har SSH-sessionstilslutningen åben. Når du afslutter din SSH-session og afbryder forbindelsen fra en server, lukkes tunnelen også. Du skal bare genoprette forbindelse med den relevante kommando (eller de relevante indstillinger i PuTTY) for at genåbne tunnelen.
Sådan tilføjes den uofficielle App Store til Plex
Hvis du bruger Plex, har du sikkert bemærket, at deres kanaløkosystem er lidt ... mangler. En tredjeparts app store kan hjælpe. Plex understreger kanaler mindre og mindre på det seneste, begrave indstillingen helt i den nyeste version af Windows-klienten. Og mange af de tilbudte kanaler virker simpelthen ikke.
Sådan opretter du en USB-flashdrevinstaller til Windows 10, 8 eller 7
Hvis du vil installere Windows, men ikke har et dvd-drev, er det nemt nok at oprette en bootbart USB-flashdrev med det rigtige installationsmedie. Sådan gør du det for Windows 10, 8 eller 7. I denne vejledning udarbejder vi et simpelt USB-drev, der fungerer ligesom en installations-dvd, og lader dig installere en version af Windows.