Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Linux Securitate Servere virtuale

Conectarea și Configurarea SSH pe un VPS: Ghidul Complet de Securitate

Secure shell (SSH) access este piatra de temelie a administrării profesionale a serverelor. Indiferent dacă implementezi un site WordPress, trimiți cod prin Git sau administrezi aplicații personalizate, SSH îți oferă un tunel criptat și autentificat direct în serverul tău. Acest ghid cuprinzător te ghidează prin fiecare pas — de la prima ta conexiune la consolidarea configurației tale împotriva atacurilor din lumea reală — pentru ca să poți administra mediul tău de VPS Hosting cu încredere.

De ce Securitatea SSH Este Importantă

Fiecare server accesibil public se confruntă cu un bombardament constant de încercări automate de forță brută. În câteva minute după ce un VPS devine activ, boții încep să scaneze portul 22 și să încearcă combinații comune de nume de utilizator/parolă. O configurație SSH prost securizată este unul dintre cele mai frecvente puncte de intrare pentru atacatori.

Vestea bună: câteva modificări deliberate de configurare reduc dramatic suprafața de atac. Combinată cu o infrastructură fiabilă — cum ar fi stocarea cu suport NVMe și protecție DDoS încorporată — o configurație SSH corect întărită vă oferă un canal de gestionare rapid, rezistent și cu adevărat sigur.

Dacă nu ați ales încă un mediu de găzduire, luați în considerare explorarea planurilor VPS Hosting care includ acces root complet, resurse dedicate și flexibilitatea de a implementa fiecare măsură de securitate acoperită în acest ghid.

Condiții preliminare

Înainte de a începe, confirmați că aveți următoarele în loc:

CerințăDetalii
Un VPS în funcțiuneOrice distribuție Linux (Ubuntu, Debian, CentOS, AlmaLinux, etc.) cu un OS instalat
Client SSHLinux/macOS: comanda ssh încorporată. Windows: PuTTY, Windows Terminal, sau WSL
Adresa IP a serveruluiFurnizată în panoul de control de găzduire după aprovizionare
Credențiale de conectareNume de utilizator implicit (root sau un utilizator cu permisiuni sudo) și parolă inițială
Familiaritate de bază cu terminalulCapacitatea de a executa comenzi și de a edita fișiere cu nano sau vim

> Sfat: Dacă gestionați mai multe servere sau aveți nevoie de o interfață grafică alături de SSH, consultați Panouri de control VPS pentru opțiuni precum cPanel, Plesk și DirectAdmin care completează accesul din linia de comandă.

Conectarea la VPS-ul dvs. prin SSH

Pe Linux sau macOS

Deschideți terminalul și rulați:

ssh username@your_server_ip

Înlocuiți username cu numele dvs. de utilizator real (de obicei root pentru un VPS nou) și your_server_ip cu adresa IP publică a serverului dvs.

Exemplu:

ssh root@203.0.113.45

Mesaj de conectare pentru prima dată:

The authenticity of host '203.0.113.45 (203.0.113.45)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Tastați yes și apăsați Enter. Aceasta adaugă cheia gazdă a serverului la fișierul dvs. ~/.ssh/known_hosts. La conexiunile ulterioare, SSH va verifica automat această amprentă — dacă se schimbă vreodată în mod neașteptat, tratați-o ca pe un potențial incident de securitate.

Introduceți parola când vi se solicită.

Pe Windows folosind PuTTY

  1. Descărcați și deschideți PuTTY de pe putty.org.
  2. În câmpul Host Name (sau adresa IP), introduceți adresa IP a serverului dvs.
  3. Confirmați că Port este setat la 22 și Connection type este SSH.
  4. Faceți clic pe Open.
  5. Acceptați amprenta cheii gazdă când vi se solicită.
  6. Introduceți numele de utilizator și parola.

> Alternativă Windows 10/11: Windows Terminal și PowerShell includ ambele un client OpenSSH nativ. Puteți folosi exact aceeași sintaxă ssh username@your_server_ip ca pe Linux/macOS — nu sunt necesare instrumente terțe.

Securizarea SSH: Configurare Pas cu Pas

Toate comportamentele SSH sunt controlate de un singur fișier de configurare:

/etc/ssh/sshd_config

Deschideți-l cu privilegii ridicate:

sudo nano /etc/ssh/sshd_config

Parcurgeți fiecare pas de securizare de mai jos. După ce ați făcut toate modificările, veți reporni serviciul o singură dată — acoperit în secțiunea următoare.

Pasul 1: Schimbați Portul SSH Implicit

Portul 22 este primul port pe care îl scanează boturile. Mutarea SSH pe un port non-standard elimină marea majoritate a zgomotului automatizat din jurnalele dumneavoastră.

Localizați această linie:

#Port 22

Schimbați-o la un port la alegere (utilizați un număr între 1024 și 65535 care nu este folosit de alt serviciu):

Port 2222

Eliminați # pentru a decomenta linia. Salvați cu CTRL+X, apoi Y, apoi Enter.

> Important: Înainte de a reporni SSH, asigurați-vă că firewall-ul dumneavoastră permite noul port. Consultați nota firewall-ului de mai jos.

Actualizați firewall-ul (exemplu UFW):

sudo ufw allow 2222/tcp
sudo ufw deny 22/tcp
sudo ufw reload

Actualizați firewall-ul (exemplu firewalld):

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Pasul 2: Dezactivați Conectarea Root

Permiterea conectării directe a root-ului prin SSH este un risc de securitate semnificativ. În schimb, conectați-vă ca utilizator obișnuit și escaladați privilegiile cu sudo când este necesar.

În sshd_config, găsiți:

PermitRootLogin yes

Schimbați-o la:

PermitRootLogin no

Înainte de a dezactiva conectarea root, asigurați-vă că aveți un utilizator non-root cu privilegii sudo:

# Create a new user
adduser adminuser

# Grant sudo privileges
usermod -aG sudo adminuser

Testați că acest utilizator se poate conecta și executa comenzi sudo *înainte* să dezactivați conectarea root și să reporniți SSH.

Pasul 3: Dezactivați Autentificarea prin Parolă (După Configurarea Cheilor)

Odată ce autentificarea prin cheie SSH este configurată (secțiunea următoare), dezactivați complet conectarea bazată pe parolă pentru a elimina riscul forței brute:

PasswordAuthentication no

De asemenea, asigurați-vă că aceste directive conexe sunt setate:

ChallengeResponseAuthentication no
UsePAM no

Pasul 4: Directive Suplimentare Recomandate

Adăugați sau verificați aceste setări în sshd_config pentru o linie de bază cuprinzătoare de securizare:

# Limit authentication attempts per connection
MaxAuthTries 3

# Disconnect idle sessions after 5 minutes
ClientAliveInterval 300
ClientAliveCountMax 2

# Disable empty passwords
PermitEmptyPasswords no

# Restrict SSH to specific users (replace 'adminuser' with your username)
AllowUsers adminuser

# Use only strong protocol version
Protocol 2

# Disable X11 forwarding if not needed
X11Forwarding no

Configurarea Autentificării cu Chei SSH

Autentificarea cu chei SSH înlocuiește parolele cu o pereche de chei criptografice: o cheie privată care rămâne pe mașina locală și o cheie publică care se află pe server. Chiar dacă un atacator cunoaște numele de utilizator, nu poate se autentifice fără cheia privată.

Pasul 1: Generați o Pereche de Chei SSH (pe Mașina Locală)

ssh-keygen -t ed25519 -C "your_email@example.com"

> De ce Ed25519? Este mai rapid și mai sigur decât algoritmul RSA mai vechi. Dacă sistemul necesită RSA pentru compatibilitate, utilizați ssh-keygen -t rsa -b 4096 în schimb.

Vi se va cere să alegeți o locație de salvare (implicit ~/.ssh/id_ed25519 este în regulă) și să setați o parolă. Setați întotdeauna o parolă — aceasta criptează cheia privată, astfel încât accesul fizic la mașina dvs. nu compromite automat serverele.

Rezultat:

Your identification has been saved in /home/you/.ssh/id_ed25519
Your public key has been saved in /home/you/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx your_email@example.com

Pasul 2: Copiați Cheia Publică pe VPS

Metoda cea mai ușoară folosește ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your_server_ip

Această comandă:

  1. Se conectează la server folosind autentificarea cu parolă.
  2. Creează ~/.ssh/authorized_keys pe server dacă nu există.
  3. Adaugă cheia publică la acel fișier.
  4. Setează automat permisiunile corecte.

Metoda manuală (dacă ssh-copy-id nu este disponibil):

# On your local machine, display your public key
cat ~/.ssh/id_ed25519.pub

# On your server, add it manually
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "paste-your-public-key-here" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Pasul 3: Verificați Autentificarea Bazată pe Chei Înainte de Dezactivarea Parolelor

Nu dezactivați autentificarea cu parolă până când nu ați confirmat că autentificarea bazată pe chei funcționează. Deschideți o nouă fereastră de terminal și testați:

ssh -i ~/.ssh/id_ed25519 username@your_server_ip -p 2222

Dacă vă conectați cu succes fără a fi solicitat o parolă (doar parola cheii, dacă este setată), procedați la dezactivarea PasswordAuthentication în sshd_config.

Repornirea și Verificarea Serviciului SSH

După salvarea tuturor modificărilor în sshd_config, validați sintaxa configurației înainte de repornire:

sudo sshd -t

Dacă nu sunt returnate erori, reporniți daemonul SSH:

sudo systemctl restart sshd

Verificați că serviciul a pornit cu succes:

sudo systemctl status sshd

Ar trebui să vedeți Active: active (running) în rezultat.

> Sfat critic de siguranță: Păstrați sesiunea SSH curentă deschisă în timp ce testați noua configurație într-o fereastră separată. Dacă ceva merge greșit, sesiunea dvs. existentă rămâne activă și puteți reveni la modificări.

Testarea Configurației Dvs. Securizate

Test 1: Conectați-vă pe Noul Port cu Cheia Dvs.

De pe mașina locală:

ssh username@your_server_ip -p 2222

Rezultat așteptat: Sunteți autentificat folosind cheia SSH (vi se cere parola cheii dacă ați setat una, dar nu parola serverului).

Test 2: Confirmați că Autentificarea Root Este Blocată

ssh root@your_server_ip -p 2222

Rezultat așteptat:

Permission denied (publickey).

sau

root@your_server_ip: Permission denied

Test 3: Confirmați că Autentificarea cu Parolă Este Dezactivată

ssh username@your_server_ip -p 2222 -o PubkeyAuthentication=no

Rezultat așteptat:

Permission denied (publickey).

Dacă autentificarea cu parolă ar fi încă activată, vi s-ar cere o parolă în loc.

Hardening Suplimentar: Fail2Ban

Fail2Ban monitorizează fișierele jurnal și interzice automat adresele IP care prezintă semne de activitate malițioasă — cum ar fi încercări repetate eșuate de conectare SSH. Este un complement esențial pentru pașii de hardening SSH de mai sus.

Instalați Fail2Ban

Ubuntu/Debian:

sudo apt update && sudo apt install fail2ban -y

CentOS/AlmaLinux/RHEL:

sudo dnf install epel-release -y
sudo dnf install fail2ban -y

Configurați Fail2Ban pentru SSH

Creați un fișier de anulare local (nu editați niciodată implicit jail.conf direct):

sudo nano /etc/fail2ban/jail.local

Adăugați următoarele:

[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5

[sshd]
enabled  = true
port     = 2222
logpath  = %(sshd_log)s
backend  = %(sshd_backend)s

Ajustați port pentru a se potrivi portului SSH personalizat. Salvați, apoi activați și porniți Fail2Ban:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Verificați interdicțiile active și starea jail:

sudo fail2ban-client status sshd

Salvarea cheilor SSH și a configurației dvs.

Un server blocat este o problemă serioasă. Urmați aceste practici pentru a o evita:

  • Salvați cheia privată într-un manager de parole criptat sau în stocare offline.
  • Stocați o copie a sshd_config înainte de a face modificări: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  • Utilizați consola out-of-band a furnizorului dvs. de hosting (acces VNC/KVM prin panoul de control) ca rezervă dacă pierdeți accesul SSH.
  • Documentați portul dvs. personalizat — este ușor să uitați 2222 când comutați între servere.

Asocierea SSH cu Infrastructura de Hosting Potrivită

O configurație SSH sigură este doar atât de puternică cât infrastructura de sub ea. Luați în considerare aceste servicii complementare:

  • Servere Dedicate — Pentru sarcini de lucru care necesită performanță maximă și izolare completă a hardware-ului, serverele dedicate vă oferă control total asupra ambelor straturi, fizic și software, inclusiv configurația SSH.
  • Certificate SSL — Securizați partea orientată către web a aplicațiilor dvs. cu certificate SSL/TLS de încredere, completând securitatea SSH pentru backend-ul serverului dvs.
  • Înregistrare Domenii — Înregistrați și gestionați domeniul dvs. alături de hosting-ul dvs., facilitând configurarea controalelor de acces bazate pe DNS și a numelor de gazdă ale serverului.

Concluzie

O configurare SSH corect configurată este una dintre cele mai importante îmbunătățiri de securitate pe care le puteți face oricărui server Linux. Pentru a rezuma ceea ce ați implementat:

Măsură de securitateBeneficiu
Port SSH personalizatElimină scanarea automată a portului 22
Dezactivarea autentificării rootElimină contul cel mai vizat din accesul la distanță
Autentificare prin cheie SSHÎnlocuiește parolele ușor de ghicit cu dovezi criptografice
Autentificare prin parolă dezactivatăÎnchide complet vectorul de atac prin forță brută
Fail2BanBlochează automat atacatorii persistenți
MaxAuthTries & timeoutsLimitează expunerea la atacuri lente sau distribuite

Aceste măsuri funcționează împreună pentru a crea o apărare în straturi — fiecare fiind semnificativă în sine și semnificativ mai puternică în combinație.

Indiferent dacă rulați un singur site WordPress sau gestionați o flotă de servere de aplicații, începerea cu o configurare SSH întărită vă pune în control. Combinați-o cu infrastructura de VPS Hosting fiabilă, păstrați cheile dvs. salvate în siguranță și veți avea un mediu de server sigur și profesional construit pentru a dura.