Clientul SSH este un utilitar necesar atunci cândfolosind o conexiune SSH între două mașini. Este conceput pentru a intra în sistemul de operare al unui computer la distanță și a executa comenzi în acesta. Clientul este instalat pe computerul local al utilizatorului. Trebuie autentificat pe server și numai după ce începe serviciul. Clientul poate fi implementat pentru a lucra într-un terminal sau pentru a avea o interfață de configurare grafică.
Ce este SSH?
SSH (Secure Shell) se traduce literalmente ca„Coajă sigură”. În utilizare, SSH este un protocol de rețea care gestionează în siguranță sistemul de operare al unei gazde la distanță dintr-o rețea. Oferă conexiune sigură, autentificare și transfer de date de la o gazdă la alta prin criptarea traficului care trece prin ea.
Vă permite să creați tuneluri criptate pentrutransferul securizat al altor protocoale de rețea pe o rețea nesecurizată, cum ar fi Internetul. Este adesea folosit pentru a redirecționa porturile de pe un computer către porturile de pe altul.
SSH a fost creat de Tatu Ilenen dinFinlanda în 1995, care a folosit-o ca un protocol mai confidențial. Această versiune a fost denumită SSH-1. În prezent, practic nu este folosit nicăieri.
În 1996, o îmbunătățireVersiunea SSH-2. Este incompatibil cu SSH-1, este mai sigur și are o listă extinsă de algoritmi de criptare. Acum SSH este înțeles ca versiunea SSH-2. Din 2006, protocolul a fost recunoscut ca standard de Internet de către IETF.
Există două implementări SSH principale.Una dintre ele este proprietară, care este dezvoltată de SSH Communications Security. Al doilea este OpenSSH, creat sub conducerea lui Theo de Raadt ca o alternativă gratuită open source la prima. Este cel mai comun și este inclus în livrarea majorității sistemelor de tip Unix.
Ce este SSH Client și SSH Server
Conexiunea SSH este implementată utilizând două componente principale: client și server.
În cuvinte simple, utilizatorul prin intermediul clientului,care este instalat pe computerul local, are acces la aparatul la distanță (server). Trebuie remarcat faptul că clientul poate fi implementat cu un shell grafic (ca aplicație desktop) și pentru a lucra în terminal (consolă).
Serverul SSH ascultă conexiunile de rețea de la clienți șiatunci când primește o cerere pentru o conexiune, aceasta efectuează acțiunile necesare pentru autorizare. Dacă are succes, pornește serviciul instalat pentru clientul la distanță.
Accesul securizat este organizat folosindProceduri de autentificare folosind criptare asimetrică cu o cheie publică la prima conexiune. Ulterior, se aplică criptarea simetrică.
Standardul SSH include trei protocoale:
- Transport Layer Protocol - Asigură autentificarea, confidențialitatea și integritatea serverului. Oferă compresie de date. Funcționează prin TCP / IP.
- Protocol de autentificare - Efectuează autentificarea clientului pentru server. Acționează deasupra stratului de protocol de transport.
- Protocol de conexiune - reprezintă un canal criptat ca un canal multiplexat din mai multe canale logice utilizate pentru diferite servicii. Funcționează deasupra unui canal de autentificare.
Îmbunătățirile de securitate sunt garantate de autentificarea clientului pentru serverul accesat de clientul ssh și autentificarea serverului de către client. Ambele părți sunt autentificate.
Clientul trimite o cerere prima dată când se stabilește o conexiune de transport sigură. A doua cerere este trimisă după finalizarea autentificării clientului SSH.
Implementare OpenSSH
OpenSSH este o implementare open source a comenzii OpenBSD. Este cea mai utilizată versiune datorită distribuției sale gratuite.
Pachetul OpenSSH include un set de astfel de instrumente:
- SSHD este partea serverului.
- SSH este partea clientului.
- SCP este un utilitar pentru copierea sigură a fișierelor.
- SSH-keygen - generează chei publice (RSA, DSA și altele) pentru computere și utilizatori.
- SSH-keyscan - colectează cheile publice din rețea.
- SSH-agent - stochează chei RSA private pentru autorizarea ulterioară cu chei publice.
- SSH-add - adaugă noi chei private agentului SSH.
- Server SFTP - server SFTP.
- SFTP este un utilitar pentru copierea sigură a fișierelor prin FTP.
OpenSSH este inclus din cutie pentru majoritatea sistemelor de tip Unix. Cele mai frecvente sunt Linux, Open (Free, Net) BSD, Solaris, HP-UX, Irix, MacOS X și altele.
Dezvoltarea activă este în curs de implementare a OpenSSH pentru Windows, care este disponibil pentru descărcare de la site. Vă permite să creați un server SSH pe sistemele familiei Windows, are un client SSH pentru conexiune. OpenSSH pentru Windows este inclus cu CygWin.
Cele mai populare printre utilizatori suntDistribuții bazate pe nucleul Linux. În cele ce urmează, toate exemplele de utilizare a SSH vor fi implicate în configurația OpenSSH. Pentru claritate de lucru în Linux, un client SSH va fi configurat pentru Ubuntu, Windows și Mac OS X.
Instalarea și configurarea openssh-serverului
Există multe opțiuni de configurareOpenSSH -server. Configurarea clientului trebuie făcută pe baza configurării serverului. Această secțiune oferă un exemplu de server SSH instalat pe Ubuntu Server Edition. Următoarele descrieri ale configurației clientului vor utiliza configurația acestui server.
1. Există două moduri de a instala OpenSSH -server:
1.1. Alegeți să instalați pachetul OpenSSH -server imediat în timpul implementării serverului Ubuntu /
1.2. Descărcați și instalați din depozit executând comanda:
2. Puteți vizualiza valorile de configurare implicite ale serverului SSHD în fișierul / etc / ssh / sshd_config cu comanda:
3.Înainte de a modifica setările implicite, asigurați-vă că faceți o copie de rezervă a fișierului și protejați-l de scriere. Acest lucru se face în cazul în care trebuie să reveniți la valoarea implicită în cazul unei erori.
4. Setările implicite sunt portul TCP 22. Pentru securitate, se recomandă înlocuirea acestuia cu o valoare non-standard, de exemplu, 5754. Puteți modifica directiva Port cu comanda:
5. Salvați fișierul / etc / ssh / sshd_config și reporniți SSHD:
Serverul este instalat și configurat.Acum ascultă pe portul 5754. În mod implicit, orice utilizator din sistem cu drepturi de conectare îl poate accesa. Autentificarea se efectuează folosind o parolă sau cheile DSA, RSA, ed25519 etc.
Client multi-platformă OpenSSH pentru terminal. Client SSH pentru Linux
Anterior se spunea că este cel mai frecvent utilizatimplementarea protocolului SSH este OpenSSH, care este livrat implicit cu cele mai multe versiuni de distribuții Linux. În unele cazuri, OpenSSH poate fi descărcat din depozite pentru o distribuție dată.
Ca parte a pachetelor, clientul OpenSSH este implementat însub forma unui program SSH, care este lansat prin comanda cu același nume. Clientul este configurat și gestionat prin terminal; nu are o interfață grafică. Este considerată cea mai simplă și mai convenabilă versiune.
Instalarea și configurarea OpenSSH-client pe Ubuntu
Mașina la distanță are un server OpenSSH instalat și configurat. Provocarea este să o accesați de pe mașina locală unde este instalat Ubuntu.
1. În Ubuntu, kitul de distribuție OpenSSH-client nu este adăugat în mod implicit, deci trebuie să-l instalați cu comanda:
2. După instalarea programului, acesta este apelat de comanda SSH de la terminal fără Root.
3. Dacă se utilizează autentificarea prin parolă:
1) conexiunea se face cu comanda:
- nume de utilizator - numele contului de pe aparatul de la distanță,
- gazdă este adresa IP a serverului la distanță (sau a domeniului dacă domeniul a fost delegat serverului);
2) după introducerea comenzii, apăsați Enter -vi se va solicita să introduceți o parolă; trebuie să introduceți parola pentru contul mașinii la distanță (ar trebui să aveți grijă, pentru siguranță, parola nu este afișată în niciun fel);
3) după introducerea parolei corecte, fereastra terminal a serverului de la distanță apare cu un salut; acum puteți executa comenzile necesare.
4. Dacă este necesară autorizarea prin chei DSA:
1) dacă este necesar, puteți genera chei SSH publice și private de la clientul OpenSSH:
2) în mod implicit, cheia publică este salvată în fișierul /home/user/.ssh/id_dsa.pub, iar cheia privată este salvată în /home/user/.ssh/id_dsa;
3) cheia publică generată trebuie copiată pe aparatul de la distanță și adăugată la autorizația /home/user/.ssh/authorized_keys cu comanda:
Acum utilizatorul se poate autentifica pe serverul SSH fără a introduce o parolă.
Instalarea și configurarea OpenSSH pentru Cygwin Terminal pe Windows
Cygwin este instalat rulând fișierul Cygwin.exe, care este descărcat de pe site-ul oficial.
Cygwin este o serie de pachete diferite. Pentru a lucra cu un terminal la distanță, este necesar doar OpenSSH. O puteți găsi căutând chiar în Cygwin.
După instalarea pachetului, trebuie să lansați Cygwin Terminal și să introduceți comanda:
Apoi apăsați Enter. Vi se va solicita să introduceți parola. După trecerea autentificării, terminalul serverului la distanță apare cu un salut de la utilizator.
Sintaxa este exact aceeași ca în OpenSSH-client implementat pentru Linux.
Client SSH multiplataforma cu GUI PuTTY
Putty este un client grafic SSH pentru administrare la distanță care include suport pentru protocolul SSH. Programul este open source și complet gratuit.
Inițial, a fost lansat doar pentru sistemul de operare Windows, dar ulterior clientul a fost portat pe Linux, acesta fiind inclus în depozitele aproape tuturor distribuțiilor populare.
Dezvoltat activ pentru a rula pe Mac OS X.
Fereastra de configurare PuTTY arată la fel în toatesisteme de operare. Singura diferență constă în metodele de instalare. Prin urmare, vor fi prezentate mai întâi metodele de instalare pentru cele trei sisteme de operare, apoi opțiunile de configurare PuTTY.
Instalarea PuTTY Linux Ubuntu
1. Puteți instala PuTTY cu comanda:
2. Lansarea se efectuează prin comanda chit de la terminal sau făcând clic cu mouse-ul din meniu:
3. Se deschide fereastra de setări a clientului, unde este necesar să înregistrați parametrii de conectare.
Instalarea PuTTY pentru Windows
Pentru a instala, trebuie să descărcați fișierul putty.exe și să îl salvați într-un loc convenabil, de exemplu, pe desktop. Programul este lansat prin două clicuri ale butonului stâng al mouse-ului.
PuTTY este un client SSH pentru Mac. Instalarea și rularea versiunii GUI
La momentul scrierii acestui articol, PuTTY nu era portat în mod adecvat pentru a funcționa pe Mac OS X. Probleme au apărut la compilarea părții responsabile pentru interfața grafică.
Există câteva lucrări preliminare de făcut pentru instalare.
1. Instalați Xcode.
Un pachet de utilități și programe de la Apple pentru dezvoltarea și crearea de aplicații pentru Mac OS X.
Din Mac OS X 10.7 Lion, trebuie să instalați „Instrumente pentru linia de comandă pentru Xcode” de pe site-ul dezvoltatorului Apple.
După instalare, trebuie să acceptați acordul de licență:
2. Instalați Xquartz.
Aceasta este o implementare a serverului X.Org X Window System (X11) pentru Mac OS X. Necesar pentru versiunea GUI a PuTTY scrisă în GTK +. Puteți să-l instalați de pe site-ul oficial. După instalare, veți avea nevoie de o relogare.
3. Instalați Homebrew.
Instalarea se efectuează cu comanda:
Apoi, trebuie să verificați corectitudinea instalării cu comanda:
4. Instalarea Putty se face cu comanda:
Procesul poate dura mai mult de o jumătate de oră, deoarece vor fi instalate multe dependențe precum Glib / GTK + / Pango / Cairo.
5. Crearea fișierului de pornire Putty.app.
Automator.app trebuie să ruleze.Selectați „program” în tipul documentului, selectați „rulați scriptul shell” în acțiuni, introduceți calea către fișierul executabil „/ user / local / bin / putty” în câmpul de intrare, salvați ca „putty.app”, specificând formatul de fișier „program” în directorul „programe”. Dacă se dorește, pictograma standard poate fi înlocuită.
Configurarea clientului SSH PuTTY
Procesul de configurare a clientului grafic SSH PuTTY arată la fel pe toate sistemele de operare. Aspectul este ușor diferit în funcție de designul mediului de lucru.
Pentru a vă conecta la o mașină la distanță prin SSH, trebuie să porniți PuTTY. În fereastra apărută a programului, trebuie să setați parametrii:
Tip conexiune - tipul conexiunii - stabilit de SSH.
Nume gazdă (sau adresă IP) - numele gazdei sau adresa IP - aici este indicată adresa IP a serverului la distanță, numele domeniului sau adresa Internetului. În exemplul prezentat, adresa IP este 192.168.128.3
Port - port de ascultare - pe server, care a fost dat ca exemplu, este configurat portul 5754. Noi îl specificăm.
Dacă doriți, puteți salva setările pentru această sesiune.
Când faceți clic pe butonul „Deschideți”, va apărea o fereastră de terminal, unde va trebui să introduceți numele contului mașinii și parola.
Dacă trebuie să autentificați clientul cu o pereche de chei, veți avea nevoie de utilitarul puttygen.exe, care rulează în Windows. PuTTY-Gen își generează perechea de chei publice și private.
Cheia publică trebuie adăugată la server, este generată în standardul SSH. Puteți adăuga o cheie în același mod, prin OpenSSH în terminal sau folosind PuTTY, după ce ați trecut prin prima autorizare de autentificare-parolă.
Cheia privată este generată în format.ppk și adăugat clientului. În stânga în arbore, trebuie să găsiți SSH, să extindeți lista, să găsiți Auth și în acest parametru, în câmpul „Fișier cu chei private pentru autentificare”, selectați cheia.
După aceste manipulări, utilizatorul se poate autentifica pe server fără a introduce o parolă.
În prezent, PuTTY este considerat un client SSH universal cu GUI. Dezvoltatorii terți Gao-Feng au creat un client SSH pentru Android ca versiune mobilă a PuTTY.
Cel mai bun client SSH
Încă nu există un consens cu privire la ce client SSH să utilizeze. Administratorii de sistem selectează utilități pe baza propriilor nevoi.
În general, utilizatorii sistemelor * Unix tind să o facăpentru a utiliza SSH standard din pachetul OpenSSH. Are o sintaxă universală clară și este accesibilă direct de la terminal. Pentru a lucra cu instrumente suplimentare, cum ar fi Secure File Copy (SCP), nu este nevoie să instalați programe suplimentare. Tot ce aveți nevoie este inclus în OpenSSH.
Fanii GUI carede obicei rulează pe sisteme de operare Windows, utilizați PuTTY. Este considerat a fi cel mai bun client SSH pentru Windows. Are toate seturile de instrumente necesare pentru tunelare, copiere de fișiere și așa mai departe, chiar dacă acest lucru necesită descărcarea de module suplimentare.