Ce este SSH și cum funcționează?

SSH este un protocol de rețea securizat pentru a accesa computerele de la distanță dintr-o rețea.

Calculatoarele vorbesc între ele prin intermediul rețelelor. Prin urmare, cercetătorii de rețea au definit un set de reguli pentru comunicarea cu alte mașini și au început să dezvolte protocoale precum Telnet; folosind asta, un utilizator poate prelua controlul asupra altui computer.

Dar nu sunt sigure, adică oricine din mijlocul rețelei poate intercepta și citi datele transferate. La mijlocul anilor 90, un protocol mai securizat numit ssh a fost introdus ca un succesor de încredere al protocolului telnet.

Dacă sunteți un dezvoltator de software sau un administrator de sistem care lucrează într-o industrie, este posibil să fi folosit ssh, cel puțin o singură dată. Dacă nu ai făcut-o, haideți să o învățăm acum, deoarece este una dintre abilitățile esențiale pe care trebuie să le cunoașteți.

Ce este SSH?

SSH sau Secure Shell sau Secure Socket Shell este un protocol de rețea care ne ajută să accesăm și să comunicăm în siguranță cu mașini la distanță (în mare parte servere la distanță).

Oferă criptare puternică și este utilizat pe scară largă de administratorii de rețea și dezvoltatori pentru a gestiona sisteme și aplicații la distanță, pentru a executa comenzi, pentru a partaja fișiere etc.

Nevoia de SSH

SSH a fost creat în 1995 pentru a rezolva problemele de securitate cu care se confruntă protocoalele de acces la distanță nesecurizate precum login, rsh, Telnet.

Acum să vorbim despre Telnet, care înseamnă Teletype Network dezvoltat în 1969. Este un instrument simplu de linie de comandă care rulează pe computerul tău pentru a accesa un server la distanță (oriunde situat pe glob). Și trimiteți comenzi pentru a fi executate pe acel server, la fel ca și cum ați fi așezat chiar înaintea serverului la distanță (chiar la kilometri distanță de server). Telnet transmite și primește mesaje în text simplu printr-o rețea.

  Cum să măriți și să micșorați pe un Mac: 4 metode

Comenzile pe care le-ați executa ar putea fi pentru a rula programe, a crea directoare, a crea/șterge/transfera fișiere, a porni/opri servicii etc.

Problema cu conectarea unei alte mașini într-o rețea este că datele transmise vor trece prin multe rețele. Între timp, unele dintre ele ar putea fi nesigure, iar datele transmise ar putea fi interceptate, eventual modificate înainte de a ajunge la mașina țintă.

În primele zile, când securitatea nu era atât de importantă, toată comunicarea are loc în text simplu. Prin urmare, datele transmise prin internet între client și server pot fi interceptate cu ușurință. Și poate fi citit deoarece mesajele nu sunt criptate.

Prin urmare, protocoalele de text simplu sunt extrem de nesigure și nu pot fi folosite niciodată pentru transmiterea de date sensibile, cum ar fi parole, secrete etc. Prin urmare, SSH este considerat o alternativă sigură la protocoalele de rețea de acces la distanță vechi.

Cum functioneazã?

SSH folosește o arhitectură client-server pentru comunicarea securizată prin rețea prin conectarea unui client ssh la serverul ssh. În mod implicit, serverul ssh ascultă portul TCP standard 22 (puteți schimba acest lucru pentru o mai bună securitate).

Utilizează o tehnică de criptare cu cheie publică pentru a se autentifica între client și server. În plus, protocolul folosește algoritmi puternici de criptare simetrică și hashing pentru schimbul de mesaje între client și server pentru a asigura confidențialitatea și integritatea datelor.

Linux este sistemul de operare utilizat pe scară largă pentru serverele de la distanță datorită securității și durabilității sale. Multe servere care utilizează sistemul de operare Linux pe internet rulează de ani de zile fără multe erori sau chiar repornite.

  Probleme de securitate Internet of Things (IoT) și cum să le preveniți

Majoritatea sesiunilor SSH (o perioadă în care accesăm serverul la distanță) vor avea doar următoarele două operațiuni:

  • Autentificare
  • Executarea comenzii

Serverele SSH pot autentifica clienții folosind o varietate de metode.

Și cele două moduri populare sunt:

Autentificarea bazată pe parolă este metoda implicită utilizată pentru autentificare OpenSSH clienții instalați. Este cea mai simplă autentificare ssh, dar nu cea mai sigură.

Chiar dacă parolele sunt trimise la server în siguranță, atacurile moderne de forță brută pot ocoli autentificarea.

Autentificarea bazată pe chei îmbunătățește și mai mult securitatea sistemului prin generarea de perechi de chei SSH, care se dovedește a fi o alternativă fiabilă și sigură.

După ce serverul autentifică clientul cu succes, se stabilește o conexiune sigură între ei.

Accesarea serverului de la distanță folosind SSH

Dacă sunteți un utilizator Mac/Linux, puteți utiliza direct terminalul pentru a tasta și a rula comenzi ssh, deoarece OpenSSH este deja instalat implicit.

Dacă sunteți un utilizator Windows, trebuie să instalați un client emulator de terminal terță parte pentru a rula comenzi ssh. Chit este cel mai popular client ssh pentru sistemul de operare Windows.

Pentru a vă conecta la un server la distanță folosind SSH, trebuie să știți cel puțin două lucruri.

Sintaxa pentru comanda ssh de bază este:

$ ssh <user-name> @ <host> -p <port-no>

Numele de utilizator este numele de utilizator al mașinii la distanță la care încercăm să ne conectăm (și nu utilizatorul de pe mașina dvs. locală), iar gazda este fie o adresă IP, fie un nume de domeniu.

Să ne uităm la un exemplu de conectare la un server la distanță folosind OverTheWire site-ul web. Este un site web gratuit pentru jocuri de război.

  10 cei mai buni creatori de sloganuri pentru a genera liner-uri atrăgătoare pentru afacerea dvs

Acum, să ne conectăm la bandit provocare folosind ssh. Este una dintre provocările disponibile pe site-ul web care învață cum să vă conectați folosind SSH.

Acreditări:

nume de utilizator și parolă: bandit0
gazdă și port: bandit.labs.overthewire.org, 2220

Când tastați următoarea comandă și apăsați enter:

$ ssh [email protected] -p 2220

Vă va solicita parola pentru autentificare. Acum introduceți parola și apăsați enter:

Dacă parola introdusă este corectă, sunteți conectat cu succes la serverul de la distanță, iar terminalul dvs. va arăta ca imaginea de mai sus.

Acum puteți folosi terminalul mașinii de la distanță pentru a tasta și a executa comenzile și pentru a efectua operațiunile necesare.

Când doriți să încheiați sesiunea ssh, introduceți comanda exit:

$ exit

Veți primi un mesaj „Conexiune închisă” când vă deconectați cu succes de la sesiunea ssh.

Concluzie

Motivul principal din spatele popularității SSH este că întreaga comunicare dintre server și client este criptată.

Majoritatea oamenilor presupun că folosirea ssh este complexă, iar obținerea de cunoștințe despre cum funcționează nu este ușor de înțeles, dar este mai simplu decât credeți. Acum aveți o înțelegere de bază despre SSH, cum funcționează, aspectele de securitate din spatele lui și de ce joacă un rol vital în comunicare.

Apoi, explorați câteva dintre resursele pentru a deveni Sysadmin.