Cum se instalează și se configurează SSH
SSH (Secure Shell) este un protocol utilizat pentru a se conecta în siguranță la sisteme la distanță, a executa comenzi și a transfera date. Acesta oferă o metodă sigură pentru administratorii de sistem, dezvoltatori și utilizatori de a gestiona servere și alte dispozitive de la distanță, utilizând conexiuni criptate. Instalarea și configurarea SSH sunt esențiale pentru accesarea în siguranță a serverelor, fie în scopuri de administrare a sistemului, muncă la distanță sau dezvoltare.
În acest articol, vă vom arăta cum să instalați și să configurați SSH pe Linux, acoperind elementele de bază, opțiunile de configurare și recomandările de securitate.
Ce este SSH?
SSH vine de la Secure Shell și permite utilizatorilor să se conecteze în siguranță la un sistem de la distanță prin intermediul unei interfețe de linie de comandă. Protocolul criptează datele dintre client și server, ceea ce îl face o metodă sigură de comunicare, în special pentru accesarea serverelor printr-o rețea nesecurizată precum internetul.
SSH funcționează implicit pe portul 22 și poate fi utilizat pentru:
- Conectarea de la distanță la servere
- Transferul securizat de fișiere (utilizând SCP sau SFTP)
- Executarea comenzilor de la distanță
- Redirecționarea și tunelarea porturilor
Pasul 1: Instalarea SSH
Majoritatea distribuțiilor Linux vin cu SSH preinstalat, dar dacă nu este instalat, îl puteți instala cu ușurință utilizând managerul de pachete pentru distribuția dvs.
Pentru Ubuntu/Debian:
Pentru CentOS/RHEL:
Pentru Fedora:
Pentru Arch Linux:
După instalare, veți avea instalate serverul și clientul OpenSSH, care vă vor permite să rulați un server SSH și să vă conectați la alte servere SSH.
Pasul 2: Pornirea și activarea serviciului SSH
După instalare, trebuie să porniți serviciul SSH (cunoscut și sub numele de sshd – daemon SSH) și să îl activați pentru a rula la pornirea sistemului.
Pornirea serviciului SSH:
Activarea SSH pentru a porni la pornire:
Puteți verifica dacă SSH rulează corect tastând:
Dacă serviciul rulează, veți vedea o stare activă care indică faptul că SSH este pregătit să accepte conexiuni.
Pasul 3: Configurarea de bază a SSH
Comportamentul SSH este controlat de fișierul de configurare situat la adresa:
Puteți edita acest fișier pentru a modifica setările SSH, cum ar fi schimbarea portului implicit, dezactivarea conectării root sau configurarea autentificării pe bază de cheie.
Pentru a edita fișierul, utilizați un editor de text precum nano sau vim:
Unele modificări comune ale configurației includ:
1. Schimbarea portului SSH implicit
Din motive de securitate, este o idee bună să schimbați portul SSH implicit de la 22 la altceva. Acest lucru ajută la reducerea riscului de atacuri automate care vizează portul SSH implicit.
Găsiți următoarea linie în fișierul de configurare:
Decomentați-o și schimbați numărul portului:
După salvarea fișierului, reporniți serviciul SSH pentru a aplica modificările:
Asigurați-vă că vă actualizați regulile firewall-ului pentru a permite conexiunile pe noul port.
2. Dezactivați autentificarea rădăcină
Permiterea conectării root prin SSH reprezintă un risc de securitate. Pentru a preveni acest lucru, găsiți următoarea linie în fișierul de configurare:
Schimbați-o în:
Acest lucru va împiedica accesul direct la root prin SSH. Utilizatorii se pot conecta în continuare cu un cont obișnuit și apoi pot trece la root folosind sudo sau su.
3. Activați autentificarea pe bază de cheie
Autentificarea SSH bazată pe chei este o metodă mai sigură decât utilizarea parolelor. Aceasta implică generarea unei perechi de chei SSH (chei publice și private) și utilizarea cheii private pentru autentificare.
Pentru a aplica autentificarea pe bază de cheie, găsiți următoarele linii și asigurați-vă că sunt setate la da:
Acest lucru dezactivează autentificarea pe bază de parolă și permite doar accesul SSH prin autentificare pe bază de cheie.
Pasul 4: Generarea cheilor SSH (autentificare pe bază de chei)
Perechile de chei SSH oferă o modalitate sigură de conectare fără parolă. Iată cum să generați și să configurați cheile SSH:
Pasul 1: Generarea perechii de chei SSH
Pe computerul dvs. local, executați următoarea comandă pentru a genera o pereche de chei:
Vi se va solicita să introduceți un nume de fișier pentru a salva cheia (sau apăsați Enter pentru a utiliza locația implicită) și o frază de acces opțională pentru securitate suplimentară.
Se creează două fișiere:
- ~/.ssh/id_rsa: cheia dvs. privată (păstrați-o în siguranță și nu o partajați).
- ~/.ssh/id_rsa.pub: Cheia dvs. publică (aceasta poate fi partajată și adăugată la servere la distanță).
Pasul 2: Copiați cheia publică pe server
Pentru a utiliza cheia pentru autentificarea SSH, copiați cheia publică pe serverul la distanță pe care doriți să îl accesați. Puteți face acest lucru cu ajutorul comenzii ssh-copy-id:
Înlocuiți username cu numele de utilizator al serverului de la distanță și remote_host cu adresa IP sau numele de gazdă al serverului.
Aceasta va copia cheia dvs. publică pe server și o va adăuga la fișierul ~/.ssh/authorized_keys, permițându-vă să vă conectați fără parolă.
Pasul 3: Conectați-vă utilizând cheia SSH
Acum, vă puteți conecta la serverul de la distanță utilizând cheia dvs. privată:
Dacă ați setat un port personalizat, specificați-l cu opțiunea -p:
Pasul 5: Securizarea configurației SSH
După configurarea SSH, este important să urmați cele mai bune practici de securitate pentru a vă asigura că serverul dvs. este protejat împotriva accesului neautorizat.
1. Utilizați parole puternice (dacă utilizați autentificarea prin parolă)
Dacă nu utilizați autentificarea bazată pe chei, asigurați-vă că toate conturile de utilizator utilizează parole puternice și complexe.
2. Utilizați un firewall
Asigurați-vă că firewall-ul serverului dvs. permite traficul numai pe portul SSH pe care îl utilizați. De exemplu, dacă ați schimbat SSH la portul 2222, permiteți traficul pe acel port utilizând ufw (pe Ubuntu/Debian) sau firewalld (pe CentOS/RHEL).
3. Limitarea accesului SSH
Limitați accesul SSH la anumite adrese sau intervale IP prin configurarea firewall-ului sau utilizând /etc/hosts.allow și /etc/hosts.deny.
Pasul 6: Testarea și depanarea SSH
După configurarea SSH, este important să vă testați configurația. Încercați să vă conectați utilizând SSH pentru a vă asigura că totul funcționează corect.
Sfaturi comune pentru depanarea SSH:
- Verificați setările firewall-ului: Asigurați-vă că firewall-ul nu blochează portul SSH.
- Verificați starea serviciului SSH: Asigurați-vă că serviciul SSH rulează cu systemctl status ssh.
- Verificarea configurației: Verificați de două ori fișierul /etc/ssh/sshd_config pentru orice configurație greșită.
- Utilizați modul Verbose pentru depanare: Dacă există probleme, utilizați opțiunea -v la conectare pentru a vedea rezultatele detaliate:
Concluzie
Instalarea și configurarea SSH este o abilitate fundamentală pentru orice administrator sau utilizator Linux care trebuie să gestioneze sisteme la distanță în siguranță. Urmând acest ghid, puteți să instalați SSH, să îl configurați pentru acces securizat și să implementați cele mai bune practici pentru a vă proteja serverul de accesul neautorizat. Odată configurat, SSH devine un instrument puternic pentru gestionarea la distanță, automatizare și comunicare securizată între sisteme.