PROBLEM: kako se priklopiti preko ssh na računalnik v učilnici, ki je za NAT-om iz interneta?
REŠITEV: reverzni ssh preko zunanjega računalnika.
Iz učilnice se je treba povezati na zunanji računalnik (primer za uporabnika „tone“ na zunanjem računalniku kovacic-m.fdv.uni-lj.si):
ssh -R 2048:localhost:22 tone@kovacic-m.fdv.uni-lj.si
nato je treba vpisat geslo uporabnika „tone“.
Na drugi strani pa se je treba priklopiti na računalnik (primer za računalnik kovacic-m.fdv.uni-lj.si, uporabnik na drugi strani tunela je „fdv“):
ssh -p 2048 fdv@localhost
in vpisati geslo od uporabnika „fdv“ v učilnici.
Uporabnik iz učilnice mora ves čas trajanja povezave ostati priklopljen v konzoli na zunanjem računalniku! V nasprotnem primeru se tunel prekine.
Vir: SSH tunelling
PROBLEM: Včasih se zgodi, da smo nekje, kjer potrebujemo grafični dostop do domačega računalnika, odprt pa imamo samo ssh. Drugače povedano: radi bi zagnali neko aplikcijo na oddaljenem računalniku (npr. mojserver.si), vendar v grafičnem načinu, torej tako, da bi zaslon videli na našem trenutnem zaslonu (na oddaljenem računalniku A).
REŠITEV: Če imamo neposreden ssh dostop se iz Linux računalnika iz grafične konzole povežemo z ukazom:
ssh -X uporabnik@mojserver.si
Nato v konzoli vpišemo ukaz npr. firefox ter dodamo znak &, da se program zažene v ozadju. V tem primeru se Firefox požene na „mojserver.si“ (točka B), zaslon oz. okno od programa pa vidimo pri sebi (na točki A):
firefox &
Kaj pa če imamo na točki A Windowse? V tem primeru uporabimo Damn Small Linux, embedded version, ki v virtualnem računalniku Qemu naloži oskubljeno različico Linuxa. Od tam naprej je postopek enak.
PROBLEM: Imamo računalnik, ki je za NAT-om. Iz interneta bi radi dostopali do njega. Predpostavka: imamo dostop do NAT-a.
REŠITEV: ssh tunel: internet –> NAT (gateway) –> lokalni računalnik
Lokalni računalnik bomo imenovali lokalni_racunalnik, računalnik NAT bomo imenovali NAT_server. Uporabnika sta uporabnik_lokalni ter uporabnik_NAT.
Najprej rečemo:
ssh -l uporabnik_NAT -L 7777:lokalni_racunalnik:22 NAT_server cat -
nato pa:
ssh -p 7777 localhost -l uporabnik_lokalni
Npr. (NAT = skrbnik@natserver.org, lokalni računalnik = matej@192.168.1.2):
ssh -l skrbnik -L 7777:192.168.1.2:22 natserver.org cat - ssh -p 7777 localhost -l matej
Več informacij na |SSH tunelling ter na Slo-Tech forumu.