SSH (Secure Shell) je protokol koji nam omogućuje siguran pristup udaljenim računalima, u osnovi poput Telneta, ali koristeći algoritme za šifriranje koji nam pomažu u održavanju sigurnosti veze, posebno ako želimo pristupiti računalima koja obavljaju važnu funkciju unutar organizacije.
Općenito, za pristup moramo navesti svoje korisničko ime i adresu računala, tako da nas SSH poslužitelj traži lozinku za pristup:
ssh usuario@equiporemoto
Od trenutka kada klijent pokrene prvu vezu između udaljenog računala i nas, informacije već sigurno putuju, sprječavajući nekoga da dobije naše vjerodajnice za pristup spomenutom računalu, međutim SSH je vrlo prilagodljiv protokol koji nam nudi mnoge mogućnosti.
SCP
Prva od njih je mogućnost prijenosa datoteka između klijenta i udaljenog računala, bez potrebe za montiranjem FTP ili NFS poslužitelja, jednostavno koristeći SCP (Secure CoPy) koji implementira većina SSH poslužitelja:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
Tuneliranje SSH-a
Ova je značajka vrlo korisna jer nam omogućuje slanje i primanje informacija koje nisu nužno naredbe ljuske između klijenta i udaljenog računala, na primjer uobičajeno pregledavanje. Ako ne pogodite kakvu ovo korist može imati, razmislite o sljedećem: trebate pristupiti stranici, ali na mjestu na kojem se nalazite ugrađen je vatrozid koji blokira upravo tu stranicu, stoga možemo izvršiti 'tuneliranje' daljinskim upravljačem računalo koje nema navedene blokove i pregledavanje navedene stranice kroz našu SSH sesiju:
ssh -D 8888 usuario@equiporemoto
Jednom spojen, naš SSH klijent 'preslušava' na portu 8888 kao proxy poslužitelj, tako da možemo konfigurirati svoj preglednik i sav promet se prenosi kroz SSH sesiju
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 udaljenog poslužitelja kao izvor, a ne IP klijenta. To je donekle ekvivalentno VPN-ovima (virtualna privatna mreža)
Obrnuti SSH
Ako iz nekog razloga trebamo pristupiti računalu koje se nalazi iza vatrozida i koje nam ne dopušta da na njega preusmjerimo SSH promet, možemo napraviti 'obrnuti SSH', na takav način da se to računalo poveže s drugim SSH poslužiteljem, na koji se također možemo povezati kako bismo pristupili opremi iza vatrozida. Primjer koji nam padne na pamet je kada želimo pomoći prijatelju koji nema pojma kako konfigurirati preusmjeravanje na svom modemu, ali moramo pristupiti njegovom računalu na daljinu:
Prijatelj -> Modem -> SSH poslužitelj <- O nama
Koraci koje je potrebno slijediti relativno su jednostavni:
Prijatelj
ssh -R 9999:localhost:22 usuario@servidorssh
nas
ssh usuario@servidorssh
Kad uđemo u SSH poslužitelj, možemo se povezati s timom prijatelja pomoću
ssh amigo@localhost -p 9999
Kao što vidite, sva čarolija leži u parametru -R, koji posrednom poslužitelju govori da na portu 9999 računalo našeg prijatelja sada sluša kao poslužitelj.
Ovo su samo neke mogućnosti koje nam nudi SSH, 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.