// server management

Cum configurezi autentificarea prin chei SSH pe un VPS Linux: ghid complet

August 13, 2026 · by CLIQHOST

Cum configurezi autentificarea prin chei SSH pe un VPS Linux: ghid complet

Autentificarea prin parolă la SSH este una dintre cele mai comune porți de intrare pentru atacatori. Roboții scanează în permanență internet-ul după portul 22 deschis și încearcă mii de combinații parolă-utilizator pe secundă (atacuri brute-force). Soluția elegantă și recomandata de toți administratorii de sistem este autentificarea prin chei SSH — un mecanism criptografic mult mai sigur și, odată configurat, mai comod de folosit.

În acest ghid parcurgem întregul proces, de la generarea perechii de chei până la dezactivarea autentificării prin parolă, atât pe un VPS NVMe cât și pe orice server Linux cu acces root.


Ce este autentificarea prin chei SSH?

SSH (Secure Shell) suportă două metode principale de autentificare:

  • Parolă — simplu, dar vulnerabil la brute-force.
  • Pereche de chei — o cheie privată (rămâne pe calculatorul tău) și o cheie publică (copiată pe server). Serverul validează identitatea ta fără ca parola să tranziteze rețeaua.

Cheia privată poate fi protejată suplimentar cu o passphrase locală, adăugând un al doilea factor de securitate.


Pasul 1: Generează perechea de chei SSH pe calculatorul local

Deschide un terminal pe mașina ta (Linux, macOS sau WSL pe Windows) și rulează:

ssh-keygen -t ed25519 -C "[email protected]"

De ce ed25519? Este algoritmul modern recomandat — chei mai scurte, securitate mai mare față de RSA-2048 sau RSA-4096. Dacă serverul tău este foarte vechi, folosește ssh-keygen -t rsa -b 4096.

Comanda îți va cere:
1. Locația fișierului — apasă Enter pentru calea implicită (~/.ssh/id_ed25519).
2. Passphrase — recomandat să setezi una; protejează cheia privată dacă cineva îți accesează calculatorul.

Rezultat: două fișiere
- ~/.ssh/id_ed25519 — cheia privată (nu o da nimănui!)
- ~/.ssh/id_ed25519.pub — cheia publică (aceasta se copiază pe server)


Pasul 2: Copiază cheia publică pe server

Metoda 1 — ssh-copy-id (recomandată pe Linux/macOS)

ssh-copy-id -i ~/.ssh/id_ed25519.pub utilizator@IP_SERVER

Comanda se autentifică cu parola curentă, creează automat ~/.ssh/authorized_keys și adaugă cheia.

Metoda 2 — Manual (Windows sau dacă ssh-copy-id nu e disponibil)

# Afișează cheia publică și copiaz-o
cat ~/.ssh/id_ed25519.pub

Pe server, ca utilizatorul tău:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# Lipești conținutul cheii publice, salvezi
chmod 600 ~/.ssh/authorized_keys

Pasul 3: Testează autentificarea cu cheie

Înainte de a dezactiva parola, deschide un terminal nou și verifică că poți intra:

ssh -i ~/.ssh/id_ed25519 utilizator@IP_SERVER

Dacă te-ai conectat fără parolă (sau cu passphrase-ul cheii), totul funcționează. Nu închide sesiunea curentă până nu confirmi!

Dacă folosești un VPS SSD la CLIQHOST, IP-ul serverului îl găsești direct în panoul de control al clientului.


Pasul 4: Dezactivează autentificarea prin parolă în sshd_config

Acesta este pasul critic. Editează fișierul de configurare SSH:

sudo nano /etc/ssh/sshd_config

Caută și modifică (sau adaugă) următoarele directive:

PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no

Dacă folosești Ubuntu 22.04+, verifică și fișierele din /etc/ssh/sshd_config.d/ — pot suprascrie setările principale:

grep -r 'PasswordAuthentication' /etc/ssh/sshd_config.d/

După modificări, repornește serviciul SSH:

sudo systemctl restart sshd

Pasul 5: Configurații suplimentare de securitate în sshd_config

Cât timp ești în fișier, aplică și aceste bune practici:

# Dezactivează login direct ca root
PermitRootLogin no

# Limitează utilizatorii care pot face SSH
AllowUsers utilizatorul_tau

# Schimbă portul implicit (opțional, obscuritate suplimentară)
Port 2222

# Timeout inactivitate (300 secunde)
ClientAliveInterval 300
ClientAliveCountMax 2

Atenție dacă schimbi portul: actualizează regulile de firewall înainte de restart, altfel te blochezi!

# UFW
sudo ufw allow 2222/tcp

# iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

Pentru un management complet al firewall-ului, consultă echipa noastră de administrare servere.


Pasul 6: Gestionează chei SSH pentru mai mulți utilizatori sau servere

Fișierul ~/.ssh/config pe mașina locală

Dacă administrezi mai multe servere, creează un fișier config pentru a simplifica conectarea:

# ~/.ssh/config
Host vps-prod
    HostName 185.x.x.x
    User adminuser
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Host vps-dev
    HostName 185.x.x.y
    User devuser
    Port 22
    IdentityFile ~/.ssh/id_ed25519_dev

Acum te conectezi simplu cu:

ssh vps-prod

Rotația cheilor (bună practică)

Generează o cheie nouă periodic (anual sau la schimbarea echipei), adaug-o în authorized_keys și eliminați cheia veche. Nu lăsa chei vechi, neutilizate pe server.


Gestionarea cheilor SSH în medii cu mai mulți administratori

Pe un server dedicat managed unde lucrează o echipă, fiecare administrator trebuie să aibă propria pereche de chei. Cheile se adaugă în authorized_keys câte una pe linie:

# authorized_keys — fiecare linie = o cheie publică
ssh-ed25519 AAAA...cheia_admin1... [email protected]
ssh-ed25519 AAAA...cheia_admin2... [email protected]

Când un administrator pleacă din echipă, ștergi linia corespunzătoare — nu resetezi toată cheia serverului.


Depanare: probleme frecvente

„Permission denied (publickey)"

  1. Verifică permisiunile:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. Asigură-te că cheia publică este pe o singură linie în authorized_keys.
  2. Rulează SSH cu verbose pentru detalii: ssh -vvv utilizator@server

SELinux blochează SSH (CentOS/RHEL/AlmaLinux)

restorecon -Rv ~/.ssh

Ai uitat să testezi și te-ai blocat

Dacă ai dezactivat parola și cheia nu funcționează, accesează consola VPS din panoul de control CLIQHOST (VNC/Console) sau contactează echipa de suport — poate reseta accesul la nivel de hypervisor.


Folosirea unui SSH Agent pentru comoditate

Dacă ai o passphrase pe cheie (corect!), nu trebuie s-o tastezi de fiecare dată. SSH Agent o ține în memorie pe durata sesiunii:

# Pornești agentul
eval "$(ssh-agent -s)"

# Adaugi cheia (vei introduce passphrase-ul o singură dată)
ssh-add ~/.ssh/id_ed25519

Pe macOS, cheia se poate salva în Keychain: ssh-add --apple-use-keychain ~/.ssh/id_ed25519


Checklist final — autentificare SSH prin chei

  • [ ] Pereche de chei generată cu ed25519
  • [ ] Cheie publică copiată în ~/.ssh/authorized_keys pe server
  • [ ] Acces testat cu succes într-un terminal nou
  • [ ] PasswordAuthentication no în sshd_config
  • [ ] PermitRootLogin no activat
  • [ ] Firewall actualizat dacă ai schimbat portul
  • [ ] SSH service restartat
  • [ ] Cheile vechi/neutilizate eliminate

Concluzie

Autentificarea prin chei SSH este una dintre cele mai eficiente măsuri de securitate pe care le poți aplica pe un server Linux. Configurarea durează 10–15 minute și elimină practic riscul atacurilor brute-force asupra accesului SSH.

Dacă rulezi un proiect serios pe un VPS NVMe de înaltă performanță sau pe un server dedicat, securizarea accesului SSH este primul pas dintr-o strategie de securitate solidă.

Nu ești sigur cum să configurezi corect serverul tău? Echipa CLIQHOST oferă servicii complete de administrare servere Linux — de la hardening inițial până la monitorizare continuă. Contactează-ne și îți pregătim serverul conform celor mai bune practici de securitate.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău