Cum se instalează și se configurează SSH ⋆ ALexHost SRL

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
17.12.2024

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:

sudo apt update sudo apt install openssh-server

Pentru CentOS/RHEL:

sudo yum install openssh-server

Pentru Fedora:

sudo dnf install openssh-server

Pentru Arch Linux:

sudo pacman -S openssh

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:

sudo systemctl start ssh

Activarea SSH pentru a porni la pornire:

sudo systemctl enable ssh

Puteți verifica dacă SSH rulează corect tastând:

sudo systemctl status ssh

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:

/etc/ssh/sshd_config

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:

sudo nano /etc/ssh/sshd_config

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:

#Port 22

Decomentați-o și schimbați numărul portului:

Port 2222

După salvarea fișierului, reporniți serviciul SSH pentru a aplica modificările:

sudo systemctl restart ssh

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:

PermitRootLogin yes

Schimbați-o în:

PermitRootLogin nu

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:

PubkeyAuthentication da PasswordAuthentication nu

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:

ssh-keygen -t rsa -b 4096

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:

ssh-copy-id nume_utilizator@host_remota

Î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ă:

ssh nume utilizator@host de la distanță

Dacă ați setat un port personalizat, specificați-l cu opțiunea -p:

ssh -p 2222 nume_utilizator@host_remota

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).

sudo ufw allow 2222/tcp sudo ufw enable

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:

  1. Verificați setările firewall-ului: Asigurați-vă că firewall-ul nu blochează portul SSH.
  2. Verificați starea serviciului SSH: Asigurați-vă că serviciul SSH rulează cu systemctl status ssh.
  3. Verificarea configurației: Verificați de două ori fișierul /etc/ssh/sshd_config pentru orice configurație greșită.
  4. Utilizați modul Verbose pentru depanare: Dacă există probleme, utilizați opțiunea -v la conectare pentru a vedea rezultatele detaliate:
ssh -v nume_utilizator@host_remota

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.

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills