SSH, mai mult decât un shell securizat

SSH (Secure Shell) este un protocol care ne permite să accesăm în siguranță computere la distanță, practic ca Telnet, dar folosind algoritmi de criptare care ne ajută să ne păstrăm conexiunea securizată, mai ales dacă dorim să accesăm computere care îndeplinesc o funcție importantă în cadrul unei organizații.

În general, pentru a accesa trebuie să furnizăm numele de utilizator și adresa computerului, astfel încât serverul SSH să ne ceară parola de acces:

ssh usuario@equiporemoto

Din momentul în care clientul inițiază prima conexiune între computerul la distanță și noi, informațiile călătoresc deja în siguranță, împiedicând pe cineva să obțină acreditările noastre de acces la computerul menționat, totuși SSH este un protocol foarte adaptabil care ne oferă multe posibilități.

SCP

Primul este să puteți transfera fișiere între client și computerul de la distanță, fără a fi nevoie să montați un server FTP sau NFS, utilizând pur și simplu SCP (Secure CoPy) pe care majoritatea serverelor SSH îl implementează:

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

Tunelare SSH

Această caracteristică este foarte utilă, deoarece ne permite să trimitem și să primim informații care nu sunt neapărat comenzi shell între client și computerul de la distanță, de exemplu navigarea obișnuită. Dacă nu ghiciți ce utilizare poate avea acest lucru, gândiți-vă la următoarele: trebuie să accesați o pagină, dar locul în care vă aflați are un firewall implementat care blochează exact acea pagină, prin urmare, putem face „tunelare” cu o telecomandă computer care nu are blocurile menționate și navighează pe pagina menționată prin sesiunea noastră SSH:

ssh -D 8888 usuario@equiporemoto

Odată conectat, clientul nostru SSH „ascultă” pe portul 8888 ca server proxy, astfel încât să ne putem configura browserul și tot traficul să fie transmis prin sesiunea SSH

Tunelul SSH

Un alt exemplu care mi se întâmplă este când, din cauza unor restricții geografice, nu putem accesa un serviciu web de unde ne aflăm, atunci când facem tunelul, respectivul serviciu web detectează IP-ul serverului nostru la distanță ca sursă, nu IP-ul clientului nostru. Acest lucru este oarecum echivalent cu VPN-urile (rețea privată virtuală)

SSH invers

Dacă, dintr-un anumit motiv, trebuie să accesăm un computer care se află în spatele unui firewall și nu ne permite să redirecționăm trafic SSH către acesta, putem face un „SSH invers”, astfel încât computerul să se conecteze la un alt server SSH, la care ne putem conecta și pentru a accesa echipamentul din spatele firewall-ului. Un exemplu care ne vine în minte este atunci când vrem să ajutăm un prieten care habar nu are cum să configureze o redirecționare pe modemul său, dar trebuie să-i accesăm computerul de la distanță:

Prieten -> Modem -> Server SSH <- Despre noi

Pașii de urmat sunt relativ foarte simpli:

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

Despre noi
ssh usuario@servidorssh
Odată ajuns în serverul SSH, ne putem conecta cu echipa prietenului nostru folosind
ssh amigo@localhost -p 9999

După cum puteți vedea, toată magia constă în parametrul -R, care spune serverului intermediar că pe portul 9999 computerul prietenului nostru ascultă acum ca server.

Acestea sunt doar câteva posibilități pe care ni le oferă SSH, dar vă invit să mai experimentați câteva, de exemplu; putem face scripturi nesupravegheate folosind chei RSA, redirecționa sesiuni X (modul grafic) către mediul nostru grafic, doar pentru a menționa câteva.


Adăugați ca sursă preferată în Google