Annonse
Hvis du er en Linux- eller UNIX-bruker, bruker du sannsynligvis SSH (Secure Shell) for å få tilgang til kommandolinjen på maskinene dine eksternt. I tillegg til å gi sikker tilgang til shell-kontoer, kan SSH også transportere andre typer nettrafikk på en sikker måte. På en måte kan det gi deg en rask og enkel VPN (Virtual Private Network) til det eksterne nettverket der SSH-serveren din er bosatt.
For det første trenger du selvfølgelig en SSH-server som kjører et sted. Linux og OS X har SSH-servere, men det er også SSH-servere tilgjengelig for Windows. freeSSHd er en fin gratis SSH-server for Windows. Det er en rask og enkel installasjon og relativt enkel å konfigurere også. Du vil selvfølgelig trenge administratorrettigheter på maskinen du installerer den på.
Siden du får tilgang til SSH-serveren eksternt, hvis den er bak en brannmur eller ruter, må du sørge for at port 22 (standard SSH-porten) er riktig sendt videre til den. De fleste rutere har muligheten til å videresende porter til individuelle maskiner i det lokale nettverket. Du må henvise til instruksjonene for ruteren / brannmuren for hvordan du gjør dette.
Når du har konfigurert SSH-serveren slik at du kan koble til den fra hvilken som helst Internett-tilkobling, trenger du selvfølgelig en klient for å koble til den. Linux og OS X har begge SSH-klienter innebygd. Hvis du er på Windows, er klienten du velger PuTTY. Jeg vil gi instruksjoner om tunneling med PuTTY, men du kan absolutt bruke andre klienter.
Angi først adressen til SSH-serveren din i Økt seksjon. Plukke ut SSH for Tilkoblingstype og gå inn 22 for Havn (eller hvilken som helst ekstern internettport du bruker for å koble til SSH-serveren).
Neste, gå til Forbindelse > SSH > tunneler. Det er tre typer tunneler du kan sette opp:
- dynamisk - Dette fungerer som en SOCKS-proxy som kan brukes til å tunnelere trafikk gjennom nettverket der SSH-serveren er bosatt. Du kan deretter konfigurere applikasjoner som støtter SOCKS-proxy (for eksempel en nettleser) for å dra nytte av det. Jeg skal demonstrere hvordan jeg konfigurerer Firefox for å arbeide gjennom en dynamisk tunnel.
- lokal - En lokal tunnel lar deg koble til den spesifiserte porten på en maskin som er bosatt i samme nettverk som SSH-serveren. Et nyttig eksempel som jeg vil vise deg er hvordan du kobler til en Windows-datamaskin som kjører Remote Desktop.
- Remote - Som navnet noe tilsier, er dette motsatt side av en lokal tunnel. Det er sannsynligvis mindre sannsynlig at du bruker dette, men det vil tillate maskiner på SSH-servernettverket å få tilgang til en maskin og port på nettverket der SSH-klienten din er bosatt. Jeg vil ikke gå gjennom noen eksempler på å sette opp en ekstern port i denne artikkelen.
Så i eksemplet jeg skal gi, vil vi si at hjemmenettverket har to datamaskiner. Den ene er en Linux-boks som kjører SSH-serveren, og den andre er en Windows-boks med Remote Desktop aktivert. Vi ønsker å sette opp to tunneler: en dynamisk tunnel og en lokal tunnel for å koble til Windows-maskinen via Remote desktop.
La oss først sette opp en dynamisk tunnel for port 1080. Porten du bruker for en dynamisk tunnel er faktisk vilkårlig, men siden port 1080 ofte brukes til SOCKS proxy, er det hva vi vil bruke. Type 1080 i Kildeport felt, velg dynamisk som porttype, og klikk deretter på Legg til knapp.
La oss deretter sette opp den lokale tunnelen for datamaskinen i nettverket som kjører Windows Remote Desktop. La oss si at de lokale IP-adressene på LANet der SSH-serveren er 192.168.1.xxx-adresser. Windows-maskinen har en lokal IP på 192.168.1.100. Skriv inn 3390 for Kildeport, 192.168.1.100:3389 for Mål, plukke ut lokal for porttypen, og klikk deretter på Legg til knapp. Du vil se senere hvorfor jeg har konfigurert kildeporten til å være annerledes enn destinasjonen.
Når du har konfigurert alt for tilkoblingen, går du tilbake til Økt delen og lagre forbindelsen. Klikk deretter Åpen og logg inn i din Linux-boks med legitimasjonsbeskrivelsen slik du normalt ville gjort.
Nå må du konfigurere applikasjonene dine til å bruke tunnelene du har satt opp. La oss si at du vil gjøre nettlesing gjennom den dynamiske tunnelen vi satte opp. Dette er faktisk en ekstremt nyttig måte å dra nytte av SSH på.
Du kan være i et nettverk med en slags brannmur eller innholdsfiltrering som du vil omgå. Hvis du kan komme ut på port 22 (eller en hvilken som helst annen port, må du bare konfigurere SSH-serveren din tilsvarende), så kan du surfe hvor du vil uten problemer gjennom den dynamiske tunnelen.
Det er også nyttig hvis du surfer i et nettverk der du kan være bekymret for andre som observerer trafikken din. Kanskje kobler du til fra et hotell, et kundeside eller fra jobb (det lærte du ikke av meg), og du vil ikke at andre skal overvåke trafikken din.
Det beste valget er å bruke Firefox, fordi Firefox lar deg konfigurere nettleseren til å også sende DNS-forespørsler via proxy. Hvis du bruker Internet Explorer, blir DNS-forespørslene dine fremdeles laget via det lokale nettverket du kobler til, og kan dermed fortsatt overvåkes. Så Firefox ville være den foretrukne nettleseren hvis du ønsker å opprettholde personvernet i nettverket du kobler fra.
Gå til Firefox for å konfigurere Firefox for å bruke den dynamiske tunnelen som en SOCKS-proxy alternativer > Avansert > Nettverk og klikk på Innstillinger”| knapp. Klikk på Innstillinger-siden Manuell proxy-konfigurasjon, skriv inn localhost for SOCKS Vert, og 1080 for Havn.
Vi er ikke helt ferdige. Vi må fortsatt konfigurere Firefox for å sende DNS-forespørsler til SOCKS-proxy også. For å gjøre dette, skriv om: config i navigasjonslinjen i Firefox. Det kan hende du blir bedt om å spørre deg om du vet hva du gjør. Forsikre Firefox om at du vet hva du gjør, og fortsett.
Skriv inn socks_remote_dns for Filter og trykk enter. Du bør se et enkelt alternativ som sier nettverk.proxy.socks_remote_dns. Hvis det står usant for Verdi, dobbeltklikk på den slik at den sier sant. Du er nå klar. Du skal kunne surfe på nettet gjennom den nye sikre, dynamiske tunnelen!
Heldigvis er det mye enklere å koble til Windows Remote Desktop-maskinen. Du starter bare Remote Desktop Client og oppgir localhost: 3390 for maskinadressen. Det er alt som er til det!
Årsaken til at vi setter opp kildeporten til 3390 er fordi Remote Desktop Client ikke vil tillate deg å koble til standard desktop desktop port (3389) på den lokale maskinen. Så derfor brukte vi 3390 i stedet (vi kunne brukt hvilken som helst port, jeg bare bruker 3390 fordi det er lett for meg å huske).
Kildeporten du bruker for å sette opp tunnelene er vilkårlig. Vi kunne ha brukt 1234 i stedet for 3390 hvis vi ville, så lenge ingenting kjører på den lokale maskinen i havn 1234. Det som ikke er vilkårlig, er det du bruker på destinasjons-IP og port. For det må du bruke riktig IP-adresse og port for tjenesten du ønsker å koble til.
Du kan sette opp tunnel for enhver tjeneste på hvilken som helst IP hvor som helst. Du trenger bare å konfigurere programmet for å koble til localhost på kildeporten du satte opp for tunnelen. Det er en ganske fin måte å koble til ting du ellers ikke kan være på grunn av brannmurproblemer du kan støte på. Alt du trenger er en enkelt port for å komme til SSH-serveren din, og den må selvfølgelig kjøres på den porten.
Bruker du SSH-tunneler? Hva slags kule ting bruker du dem til?
Fotokreditt: kreg.steppe
Jeg er en ganske typisk nørd som bruker timer foran en dataskjerm på jobben så vel som hjemme. Jeg liker også å sette sammen nifty tools and gadgets.