da.phhsnews.com


da.phhsnews.com / Sådan bruger du SSH-tunnel til adgang til begrænsede servere og gennemse sikkert

Sådan bruger du SSH-tunnel til adgang til begrænsede servere og gennemse sikkert


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: Gør fjernadgang til rådighed på dit lokale system

"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-Largument. 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 indtaste8888som kildeport oglocalhost: 1234som 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.

Fjernport-videresendelse: Gør lokale ressourcer tilgængelige på et fjernsystem

"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 kommandoensshmed 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 indtaste8888som kildeporten oglocalhost: 1234som 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.

Dynamic Port Forwarding: Brug din SSH-server som en proxy

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.123til 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-Dsom 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 indtaste8888som 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.


Hvordan bestemmer du tiden, hvor det tager et program at fylde fuldt ud ved opstart?

Hvordan bestemmer du tiden, hvor det tager et program at fylde fuldt ud ved opstart?

Der er få ting så frustrerende som at tænde computeren og have det for evigt at fylde fuldt ud hvordan finder du ud af, hvilke programmer der bremser alt ned? Med dette mål i tankerne har dagens SuperUser Q & A-indlæg en nem løsning for et nysgerrig læsers problem. Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder Spørgsmålet SuperUser-læser Sergey Larin vil vide, hvordan man bestemmer, hvor lang tid det tager at få et program til fuldt ud at starte ved opstart: Der er nogle programmer, der starter automatisk, når jeg starter min Windows 10 computer og jeg vil gerne forkorte den tid det tager for mit system at indlæse og være klar til brug.

(how-top)

Sådan forbedres (næsten) ethvert digitalt foto uden autofremstilling

Sådan forbedres (næsten) ethvert digitalt foto uden autofremstilling

Filmfotografer havde det nemt. De kunne bare klikke på lukkerknappen og deres fotos ville se fantastisk ud. Hver film havde sin egen unikke udseende. Det var nemt at se på et billede og gå, "Åh, det blev taget med Kodak Ultra" eller "Det var tydeligvis skudt på Tr-X". Digitale fotografer har derimod ikke den luksus.

(how-top)