SSH, više od sigurne ljuske

SSH (Secure Shell) je protokol koji nam omogućava siguran pristup udaljenim računarima, u osnovi kao Telnet, ali koristeći algoritme za šifriranje koji nam pomažu da naša veza bude sigurna, posebno ako želimo pristupiti računarima koji obavljaju važnu funkciju unutar organizacije.

Generalno, za pristup moramo navesti svoje korisničko ime i adresu računara, tako da nas SSH server pita za lozinku za pristup:

ssh usuario@equiporemoto

Od trenutka kada klijent započne prvu vezu između udaljenog računara i nas, informacije već sigurno putuju, sprečavajući nekoga da dobije naše vjerodajnice za pristup tom računaru, međutim SSH je vrlo prilagodljiv protokol koji nam nudi mnoge mogućnosti.

SCP

Prva od njih je mogućnost prenosa datoteka između klijenta i udaljenog računara, bez potrebe za montiranjem FTP ili NFS servera, jednostavno koristeći SCP (Secure CoPy) koji implementira većina SSH servera:

scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt

SSH tuneliranje

Ova je značajka vrlo korisna, jer nam omogućava slanje i primanje informacija koje nisu nužno naredbe ljuske između klijenta i udaljenog računara, na primjer uobičajeno pregledavanje. Ako ne pretpostavljate kakvu ovo korist može imati, razmislite o sljedećem: trebate pristupiti stranici, ali na mjestu na kojem se nalazite ima implementiran zaštitni zid koji blokira upravo tu stranicu, stoga možemo 'tunelirati' daljinskim upravljačem računalo koje nema navedene zaključavanja i pregledavanje navedene stranice kroz našu SSH sesiju:

ssh -D 8888 usuario@equiporemoto

Jednom povezan, naš SSH klijent 'preslušava' na portu 8888 kao proxy server, tako da možemo konfigurirati svoj preglednik i sav promet se prenosi kroz SSH sesiju

SSH tunel

Sljedeći primjer koji mi se događa je kada zbog nekih geografskih ograničenja ne možemo pristupiti web usluzi s mjesta na kojem se nalazimo, prilikom izrade tunela, rekao je da web usluga otkriva IP našeg udaljenog poslužitelja kao izvor, a ne IP klijenta. Ovo je donekle ekvivalentno VPN-ovima (virtualna privatna mreža)

Obrnuti SSH

Ako iz nekog razloga trebamo pristupiti računaru koji se nalazi iza zaštitnog zida i koji nam ne dopušta da preusmjerimo SSH promet na njega, možemo napraviti 'obrnuti SSH', na takav način da se taj računar poveže s drugim SSH serverom, na koji se takođe možemo povezati kako bismo pristupili opremi iza zaštitnog zida. Primjer koji nam padne na pamet je kada želimo pomoći prijatelju koji nema pojma kako konfigurirati preusmjeravanje na svom modemu, ali mu moramo pristupiti na daljinu:

Prijatelj -> Modem -> SSH server <- O nama

Koraci koje treba slijediti relativno su jednostavni:

Prijatelj
ssh -R 9999:localhost:22 usuario@servidorssh

nosotros
ssh usuario@servidorssh
Kad uđemo u SSH server, možemo se povezati s timom prijatelja pomoću
ssh amigo@localhost -p 9999

Kao što vidite, sva magija leži u parametru -R, koji posrednom serveru govori da na portu 9999 računar našeg prijatelja sada sluša kao server.

Ovo su samo neke mogućnosti koje nam SSH nudi, ali pozivam vas da eksperimentirate s još nekim, na primjer; možemo raditi skripte bez nadzora koristeći RSA tipke, preusmjeriti X sesije (grafički način) u naše grafičko okruženje, da spomenemo samo neke.


Dodaj kao preferirani izvor na Googleu