Secure Shell, cunoscut în mod obișnuit sub numele de SSH, este ca o modalitate foarte sigură de a vorbi cu computere îndepărtate, numite servere. Este ca un tunel secret pe internet care ține conversațiile în siguranță și private. Imaginează-ți că trimiți o scrisoare și, în loc să o trimiți deschis, o pui într-un plic magic pe care doar tu și persoana căreia o trimiți îl poți deschide. Asta face SSH pentru discuțiile pe computer.
Acest articol este aici pentru a ajuta începătorii, cei care abia încep cu aceste lucruri, să înțeleagă cum să folosească SSH. Vă vom arăta pașii pentru a utiliza o comandă specială (gândiți-vă la ea ca la o strângere de mână secretă) pentru a vă conecta computerul la un server îndepărtat din lumea Linux. Până la sfârșitul acestui ghid, veți fi mai încrezător în utilizarea SSH pentru a face computerul să vorbească în siguranță atunci când aveți de-a face cu acele servere la distanță.
Ce este SSH?
SSH, sau Secure Shell, constituie un protocol de rețea criptografic conceput pentru a permite comunicarea securizată între două sisteme prin rețele care ar putea să nu fie sigure. Acest protocol este utilizat pe scară largă pentru accesul de la distanță la servere și pentru transmiterea în siguranță a fișierelor între computere. În esență, SSH acționează ca un canal securizat, stabilind un canal confidențial de comunicare în scenarii în care rețeaua poate prezenta riscuri de securitate. Această tehnologie este esențială pentru profesioniștii care caută o metodă fiabilă și sigură de gestionare a serverelor și de transfer de date sensibile pe computere într-un mod controlat și protejat. ssh rulează pe portul TCP/IP 22.
Sintaxa comenzii SSH în Linux
Sintaxa de bază pentru utilizarea comenzii SSH este următoarea:
ssh [username]@[hostname or IP address]>
Aici,
A inlocui[> username> ]>cu numele de utilizator al serverului la distanță și[> hostname or IP address> ]>cu numele de gazdă sau adresa IP a serverului.
ce este un nume de utilizator
Cerințe preliminare
Înainte de a pătrunde în lumea SSH, este esențial să vă asigurați că sunt îndeplinite anumite cerințe preliminare. Iată o listă de verificare pentru a garanta o conexiune bună:
- Stare computer la distanță:
- Asigurați-vă că computerul la distanță este pornit și are o conexiune la rețea activă. SSH se bazează pe conectivitate la rețea, iar serverul de la distanță trebuie să fie accesibil.
- Informații de identificare:
- Obțineți adresa IP sau numele mașinii de la distanță. Aceste informații sunt esențiale pentru direcționarea conexiunii SSH către serverul corect.
- Permisiune de acces:
- Asigurați-vă că aveți permisiunile necesare pentru a accesa computerul de la distanță. Acest lucru implică de obicei să aveți un nume de utilizator și o parolă valide pentru serverul de la distanță.
- Setări firewall:
- Verificați setările paravanului de protecție atât pe mașina dvs. locală, cât și pe serverul de la distanță. Conexiunile SSH folosesc un anumit port (de obicei portul 22), deci este esențial să vă asigurați că firewall-ul permite traficul SSH. Pot fi necesare ajustări pentru a permite o comunicare sigură.
Instalați componenta SSH pe Linux
Configurarea SSH pe Linux poate fi necesară, deoarece unele distribuții nu vin cu acesta preinstalat. Instalarea OpenSSH, o implementare SSH utilizată pe scară largă sau optarea pentru o soluție de interfață grafică cu utilizatorul (GUI) precum clientul PuTTY pentru Ubuntu poate rezolva acest lucru. Iată un ghid pas cu pas despre instalarea și configurarea OpenSSH atât pe partea client, cât și pe server:
Instalarea acestuia atât pe client, cât și pe server
Pentru sistemele bazate pe Debian/Ubuntu, deschideți terminalul și rulați:
sudo apt install openssh-client openssh-server>
Pentru sisteme bazate pe Red Hat, cum ar fi CentOS sau Fedora, utilizați oricare dintre următoarele comenzi:
sudo dnf install openssh-clients openssh-server>
sau
aws redshift
sudo yum install openssh-clients openssh-server>
Notă : Pentru a verifica starea serverului care rulează după instalare, putem folosi această comandă systemctl status sshd
În cazul în care serviciul nu rulează, rulați-l cu următoarea comandă:
sudo systemctl start sshd>Comanda nu imprimă o ieșire.
Pentru ca serviciul să pornească automat la pornire, rulați:
sudo systemctl enable sshd>Activarea sshd serviciul îl pornește în timpul procesului de pornire.
Cum să utilizați SSH pentru a vă conecta la un server de la distanță în Linux
În acest exemplu accesăm Ubuntu sau Red hat Linux mașină prin promptul de comandă Windows folosind `ssh`
De exemplu: dacă adresa noastră IP este 10.143.90.2 și numele de utilizator este Jayesh
comparație java
Sintaxă pentru a utiliza ssh pentru a vă conecta la un server la distanță:
ssh [email protected]>
Adăugați numele dvs. de utilizator în locul lui Jayesh și adăugați numele dvs adresa IP în locul 10.143.90.2
ssh la sistemul linux din Windows
comanda constă din 3 părți diferite:
- comanda ssh instruiește sistemul să stabilească o conexiune securizată criptată cu mașina gazdă.
- nume de utilizator reprezintă contul care este accesat pe gazdă.
- gazdă se referă la mașina care poate fi un computer sau un router care este accesat. Poate fi o adresă IP (de exemplu, 192.168.1.24) sau un domeniu, de exemplu, www.numedomeniu.com).
Notă: După conectarea la computerul gazdă, comenzile vor funcționa ca și cum ar fi fost scrise direct pe terminalul gazdă. Utilizarea unei perechi de chei public-private sau a unei perechi de chei SSH pentru a vă conecta la gazda de la distanță este mai sigură în comparație cu utilizarea parolelor.
Cum se creează chei public-private?
Pentru generare chei public-private utilizați comanda:
ssh-keygen>

ssh-keygen
convertiți int în șir în java
Cheia privată trebuie să rămână ascunsă, în timp ce cheia publică trebuie copiată pe gazda de la distanță. După copierea cheii publice pe gazda de la distanță, conexiunea va fi stabilită folosind cheile SSH și nu parola.
Opțiuni disponibile în ssh
Notă: Aici, în loc de utilizator și gazdă, adăugați numele de utilizator și adresa IP la care doriți să vă conectați. Și localhost este IP-ul sistemului nostru local.
| Opțiuni | Descriere | Sintaxă |
|---|---|---|
| -1 | Forțează ssh să utilizeze numai protocolul SSH-1. | ssh -1 user@host> |
| -2 | Forțează ssh să utilizeze numai protocolul SSH-2. | ssh -2 user@host> |
| -4 | Permite numai adrese IPv4. | ssh -4 user@host> |
| -6 | Permite numai adrese IPv6. | ssh -6 user@host> |
| -A | Redirecționarea conexiunii la agentul de autentificare este activată. | ssh -A user@host> |
| -A | Redirecționarea conexiunii la agentul de autentificare este dezactivată. | ssh -a user@host> |
| -C | Comprimă toate datele (inclusiv stdin, stdout, stderr și datele pentru conexiunile X11 și TCP redirecționate) pentru un transfer mai rapid al datelor. | ssh -C user@host> |
| -c | Selectează specificația de criptare pentru criptarea sesiunii. Algoritmul de criptare specific va fi selectat numai dacă atât clientul, cât și serverul îl acceptă. | ssh -c aes256-cbc user@host> |
| -f | Solicită ssh să treacă în fundal chiar înainte de executarea comenzii. | ssh -f user@host command> |
| -g | Permite gazdelor de la distanță să se conecteze la porturile redirecționate locale. | ssh -g -L 8080:localhost:80 user@host> |
| -n | Împiedică citirea din stdin. | ssh -n user@host command> |
| -p | Port la care se conectează pe gazda la distanță. | ssh -p 2222 user@host> |
| -q | Suprimă toate erorile și avertismentele | ssh -q user@host> |
| -ÎN | Afișați numărul versiunii. | ssh -V> |
| -în | Modul verbos. Ecou tot ceea ce face în timp ce stabilește o conexiune. Este foarte util în depanarea erorilor de conexiune. | ssh -v user@host> |
| -X | Activează redirecționarea X11 (Redirecționare GUI). | ssh -X user@host> |
T aici Tehnici majore de criptare Folosit de SSH.
SSH este semnificativ mai sigur decât alte protocoale, cum ar fi telnet, datorită criptării datelor. Sunt trei tehnici majore de criptare folosit de SSH:
- Criptare simetrică: Această criptare funcționează pe principiul generării unei singure chei pentru criptarea și decriptarea datelor. Cheia secretă generată este distribuită între clienți și gazde pentru o conexiune sigură. Criptarea simetrică este cea mai simplă criptare și funcționează cel mai bine atunci când datele sunt criptate și decriptate pe o singură mașină.
- Criptare asimetrică: Această criptare este mai sigură deoarece generează două chei diferite: cheie publică și cheie privată. O cheie publică este distribuită diferitelor mașini gazdă, în timp ce cheia privată este păstrată în siguranță pe computerul client. Se stabilește o conexiune sigură folosind această pereche de chei public-privată.
- Hashing: Hashingul unidirecțional este o tehnică de autentificare care asigură că datele primite sunt nemodificate și provin de la un expeditor autentic. O funcție hash este utilizată pentru a genera un cod hash din date. Este imposibil să regenerați datele din valoarea hash. Valoarea hash este calculată atât la emițător, cât și la sfârșitul receptorului. Dacă valorile hash se potrivesc, datele sunt autentice.
Întrebări frecvente despre comanda `ssh` în Linux.
1) Ce înseamnă SSH?
SSH înseamnă Secure Shell.
2) Pentru ce este folosit SSH?
SSH este utilizat pentru a se conecta în siguranță la un sistem sau un server la distanță. Poate fi folosit pentru a transfera date între două sisteme conectate.
3) Pe ce port rulează SSH?
SSh rulează pe portul TCP/IP 22.
4) Cum putem accesa o mașină Linux prin promptul de comandă Windows folosind SSH?
Putem accesa o mașină Linux prin comanda Windows folosind SSH
sintaxă:
ssh user_name@host(IP/Domaimn_name)>
5) Cum putem crea chei public-private folosind SSH?
Prin utilizarea SSH prin utilizarea comenzii
ssh-keygen>
6) Care sunt cele trei tehnici majore de criptare utilizate de SSH?
Cele trei tehnici majore de criptare utilizate de SSH sunt:
- Criptare simetrică
- Criptare asimetrică
- Hashing
(Explicat în contextul de mai sus)
7) Cum folosesc SSH pentru a mă conecta la un server la distanță în Linux?
Înlocuiește ` username`> cu numele dvs. de utilizator actual și ` remote_server_ip`> cu adresa IP sau domeniul serverului de la distanță.
tupluri java
ssh username@remote_server_ip>
8) Care este comanda SSH pentru conectarea la un server cu un anumit port?
Această comandă se conectează la serverul de la distanță folosind portul 2222. Ajustați numărul portului după cum este necesar.
ssh -p 2222 username@remote_server_ip>
9) Cum c an Folosesc SSH pentru a transfera fișiere între mașina mea locală și un server la distanță?
Utilizarea SCP pentru transferul de fișiere. Această comandă copiază în siguranță fișierul local la destinația specificată pe serverul de la distanță. Ajustați căile și numele fișierelor în consecință.
scp local_file.txt username@remote_server_ip:/path/to/destination/>
Concluzie
În acest articol am discutat despre Secure Shell (SSH), care este ca un tunel secret și sigur pentru ca computerele să vorbească în siguranță pe internet. Acest ghid este pentru începători, ajutându-i să folosească SSH pentru a-și conecta computerul la servere îndepărtate din lumea Linux. Acesta acoperă totul, de la comanda de bază SSH la cerințe prealabile, cum ar fi verificarea conexiunii la internet și a avea permisiunile potrivite. Veți învăța cum să instalați SSH pe Linux, să creați chei sigure și să le utilizați pentru autentificare mai sigură. Articolul include, de asemenea, întrebări frecvente cu răspunsuri simple, asigurându-vă că puteți gestiona cu încredere și în siguranță serverele de la distanță folosind SSH în Linux. Este ca și cum ai oferi computerului tău un cod secret pentru a vorbi în siguranță pe internet!