Daniels blogg
19 Nov/09 0

6 nyttige ting du kan gjøre med SSH

SSH må være min favoritt stykke programvare noensinne. Det er gratis, det gir deg frihet, er det enkelt å bruke, men kraftig i de tingene det kan gjøre. Det hjelper deg til å kryptere og sikre din kommunikasjon. Kan det gjøre dette i veien for universelle og for nesten hvert tilfelle bruk. I dette innlegget vil jeg vise deg seks ting du kan gjøre med SSH uten altfor mye stress. SSH kan gjøre mer enn bare tjene som en kryptert fjernøkten. Prøv følgende eksempler for deg selv og utforske makt Secure Shell.

Thingy # 1 - En sikker ekstern shell

ssh_console1

OK, dette er den mest åpenbare ting du kan gjøre med SSH og jeg vedder på de fleste av dere allerede har gjort det: Koble til en ekstern maskin via en SSH-sikret tilkobling og type på den konsollen å administrere den.

Dette er svært enkel:

  ssh bruker @ box_B 

Dette vil koble deg til boks B som brukeren "bruker". Etter å ha skrevet inn passordet, vil du kunne bruke Box B konsoll.

Noen ganger vil du ikke ønsker å koble til den eksterne maskinen for en interaktiv sesjon, fordi du bare vil kjøre en enkelt kommando på den eksterne maskinen. I så tilfelle bare du kan gjøre en

  ssh bruker @ box_B kommandoen 

Dette vil koble til boks B som "bruker" run "kommandoen" vise deg "kommando" 's produksjon og koble fra.

Thingy # 2 - kopiere filer mellom boksene

ssh_copy

Flott, kan vi administrere en ekstern maskin med SSH, men vi kan også flytte data mellom maskiner i en kryptert og sikker måte. Det fungerer utgangspunktet som standard "cp" kommandoen, men den har fått et annet navn: "SCP"

  SCP / home / meg / a_file.txt box_B bruker @ :/ home / meg / 

Dette vil kopiere den lokale filen "/ home / meg / a_file.txt" boksen på vårt A til '/ home / meg / a_file.txt "på boks B.

Det vil fungere omvendt også:

  SCP bruker @ box_B :/ home / meg / b_file.txt / home / meg 

Dette vil få filen "/ home / meg / b_file.txt" og vil du sette i inn i vårt hjem på boks A.

Fordi "scp" fungerer som "CP" wildcards er tillatt i tillegg:

  SCP / var / log / * user @ box_B :/ home / meg / logsbackup 

Dette vil kopiere alle loggfilene fra vår boks A til "/ home / meg / logsbackup" på boks B.

Thingy # 3 - Monter en ekstern katalog til din lokale filsystemet

ssh_mount

Noen ganger er det ikke nok å bare kopiere én eller flere filer fra en maskin til en annen. Montering av en ekstern filsystem directrory til din lokale blir super nyttig, når du ønsker å jobbe på de eksterne filer med lokale programmer. Et godt eksempel på dette skulle jobbe på et eksternt område. Du kan ganske enkelt montere katalogen fra den eksterne webserveren til din lokale filsystemet og bruke alle dine fancy HTML redaktører og image-programmer på eksterne filer som om de var på den lokale harddisken. Det er der "sshfs" kommer i hendig. Verktøyet er ikke installert som standard i de fleste distribusjoner, men du bør kunne finne det i depotet ditt. På Debian baserte systemer bare installere det med:

  apt-get install sshfs 

Etter å ha installert sshfs kan du begynne å bruke det:

  mkdir / mnt / b_data
 sshfs bruker @ box_B b_data :/ / mnt / b_data 

Dette monterer katalogen "/ b_data" fra boks B i "/ mnt / b_data" på ditt lokale filsystem Nå kan du arbeide på eksterne filer med lokale verktøy. Når du er ferdig, kan du avmontere katalogen med:

  fusermount-u / mnt / b_data 

Hvis avmontere mislykkes, sjekk om du har åpne filer stille i katalogen, eller hvis du fremdeles er i denne katalogen eller i noen shell Nautilus / Konqueror vinduet.

Thingy # 4 - Surf på nettet anonymt og usensurert fra "kritisk" steder

ssh_proxy

Corporate fascistiske politikk, regjeringer, internettkafeer og andre "uvennlige" regler, institusjoner og steder kan gi deg en hard tid, når du vil ha tilgang til nettet på en sikker og privat måte. Brannmurer og proxyer kan blokkere dine favoritt nettsteder, nettsteder du har besøkt loggen, utføre Mannen i midten angrep eller kan bare gi deg en dårlig følelse. SSH er løsningen på disse problemene. Det gir deg muligheten til å bruke den som en web proxy. Du bare kobler til din gode gamle pålitelige boks B og surfe gjennom kryptert forbindelse.

(Local Browser <-> lokal SSH proxy <-> SSH <-> Box B <-> nettside)

Nå ingen på uvennlig din lokale LAN kan blokkere eller spionere på surfingen.
Høres bra ut? Flott! Det er også enkelt å sette opp. SSH tilbyr "-D" for å gi en SOCKS proxy på den lokale maskinen:

  ssh-D 1234 bruker @ box_B 

Du vil ha en proxy lytting på localhost port 1234th Nå er det bare å sette opp nettleseren din for å bruke "SOCKS proxy" på localhost port 1234 og hele din surfing vil gå gjennom Box B. Du kan sjekke om det fungerte ved å besøke en nettside som viser din IP. http://www. whatismyip.com er et nettsted som ville fungere. Hvis det aktuelle nettstedet viser boks B IP-adresse i stedet for din lokale, sette deg alt riktig. En bærbar nettleser på USB Pendrive som bærbar Firefox vil gjøre ting enda mer koselig.

Thingy # 5 - Krypter datatrafikk av din favoritt programmet eller lokale tilgangstjenester i LAN er du ikke kunne ellers komme med SSH tunneler

ssh_tunnel_l

OK, vi krypterte eksterne admin økter, kopierte filer sikkert og selv surfet på nettet i en privat måte. Men SSH kan gjøre mer. Du kan kryptere trafikken av alle applikasjoner som bruker TCP-protokollen med SSH tunneler. Som med vår SOCKS proxy, kan vi tunnel andre klient data via ssh, for eksempel trafikken på vår e-post. La oss si at du ønsker å pickup din e-post mens du er i en "kritisk" miljø. Bad passord selskaper / regjeringer / script kiddies kan lese din e-post og enda verre kan snuse din e-post. SSH hjelper. Syntaksen for SSH tunneler i hjernen din kan puslespillet ved første øyekast, men det er ikke så vanskelig:

  ssh-L local_port: target_host: user @ target_port box_B 

for eksempel

  ssh-L 10000: pop3.mailprovider.com: 110 bruker @ box_B 

OK, la oss se hva som skjedde her. Vi fortalte ssh for å lage en tunnel med en lokal (L) ved endepunktet port "10000". Alt som er satt inn i vårt lokale endepunkt går til vår første kryptert Box B og etter at å "pop3.mailprovider.com" på port 110 (som er POP3). Du relé alle data som går inn i vår lokale endepunkt i en kryptert måte via boks B til din e-postleverandør. I dette eksemplet vil du sette POP kontoen i din e-postklient til "localhost" port "10000". Det trenger ikke å være e-post. Enhver annen applikasjon som bruker en protokoll benytter TCP virker like bra. For eksempel IRC, FTP, HTTP, IMAP, you name it ...

i tilfelle du kjører din egen server-tjeneste kurs om Box B, "target host" kan være boks B av seg selv:

 ssh bruker @ L 10000:127.0.0.1:110 box_B 

Målet vert i dette eksemplet er "127.0.0.1" fordi det er målet boksen fra B synspunkt. "127.0.0.1" sett fra Box B Box er sikker B selv.

Tunnelering kan være nyttig for å sikre dine tjenester eller å koble til tjenester i boks B nettverk. La oss si i boks B er på intranettet som har en interessant webserver på IP "192.168.0.77" og du ikke får tilgang til denne serveren fra utsiden. Du bare tunnel vei til BOX B BOX B og la deg frem til webserveren:

  ssh bruker @ L 10000:192.168.0.77:80 box_B 

Nå skrive "http://127.0.0.1:10000" i din lokale nettleser vil vise deg hjemmesiden webserveren intranett.

Thingy # 6 - En tunnel omvendt

ssh_tunnel_r_good

OK, kunne dette ha vært en del av "thingy nr. 5", men å gjøre ting mer klart jeg laget på ekstra poeng for det. Hvis du forsto # 5 dette bør ikke være noe problem for deg. Her åpner du opp en "ekstern" endepunktet på Box B. Alt går i det som fremkommer kryptert til Box A (den du bruker for øyeblikket) og etter det til målet vert.

  ssh-R remote_port: target_host: user @ target_port box_B 

for eksempel

  ssh-R 10000: pop3.mailprovider.com: 110 bruker @ box_B 

E-post klient ville sette "box_B" og port "10000" som POP3-serveren. BOX B ville formidle trafikk til BOX A via SSH. BOX A ville formidle trafikk til "pop3.mailprovider.com" port "110".

Nyttige kommandolinjeval for SSH

-C "Compress"

Den "-c" i SSH med gzip Komprimerer all trafikk før du sender den til ekstern vert. Dette øker hastigheten med ukomprimerte data-typer. Det er veldig nyttig for kopiering av store filer over SSH tekst eller for å surfe på nettet med "-D"-alternativet. Generelt "-c" aldri gjør vondt, det setter bare litt mer press på CPU.

  ssh-C-D 1234 bruker @ box_B 

-G "Grant Access"

Den "-g" alternativet lar andre verter å koble til dine lokale tunnel endepunkter. Hvis du ikke bruker "g" i kombinasjon med en tunnel, kan bare din egen localhost (Box A i eksemplene) bruke tunnelen.

  ssh-L-g 10000:127.0.0.1:110 bruker @ box_B 

-P "port"

Den "-p" alternativet er nødvendig, hvis SSH server du vil koble til ikke kjøres på standard port "22"

  ssh-p 22 000 bruker @ box_b 

-V "verbose"

Legg dette alternativet hvis du vil dykke dypere inn i SSH. Du vil se mange teknisk informasjon mens du kobler til en ekstern vert.

Videre lesing

Jeg prøvde å holde denne artikkelen så enkelt som mulig å gjøre det brukbart. Det er mye mer å vite om SSH. Hvis du er ute etter en mer omfattende leste jeg foreslår at du sjekke ut disse docs:

SSH Mannen siden

SSH RFC

Wikipedia på SSH

SSH - The Definitive Guide O'Reilly