Skip to main content

Cyber AI România

Miercuri, 16 septembrie 2026

Cum configurezi autentificarea SSH cu chei și dezactivezi login-ul prin parolă

Autentificarea SSH cu chei îți permite să intri pe un server Linux folosind o pereche criptografică: cheia privată rămâne pe calculatorul tău, iar cheia publică este instalată pe server. După ce verifici că accesul funcționează, poți dezactiva login-ul prin parolă și elimina una dintre cele mai frecvente ținte ale tentativelor automate de autentificare.

Pașii trebuie făcuți în ordinea corectă. Nu dezactiva parola înainte să testezi cheia într-un terminal separat, deoarece te poți bloca în afara serverului.

Verifică SSH și firewall-ul serverului

Pe serverul Ubuntu, instalează și verifică OpenSSH:

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh

Dacă folosești UFW, permite SSH înainte să activezi firewall-ul:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Pe un VPS, verifică și firewall-ul furnizorului cloud. Portul SSH trebuie permis din IP-ul tău sau din rețeaua de administrare. Ubuntu documentează OpenSSH ca serviciu pentru acces remote criptat și recomandă verificarea atentă a configurației înainte de repornirea serviciului.

Generează cheia pe calculatorul tău

Cheia se generează pe laptopul sau calculatorul de pe care te conectezi, nu pe server.

În Linux, macOS sau Windows PowerShell cu OpenSSH instalat, rulează:

ssh-keygen -t ed25519 -C "administrare-server"

Apasă Enter pentru locația implicită:

~/.ssh/id_ed25519

Setează o parolă pentru cheia privată. Aceasta protejează cheia dacă laptopul este pierdut sau compromis.

Vei obține două fișiere:

~/.ssh/id_ed25519       cheia privată
~/.ssh/id_ed25519.pub   cheia publică

Nu trimite și nu încărca nicăieri fișierul fără extensia .pub. Ubuntu recomandă Ed25519 datorită dimensiunii reduse și cerințelor de calcul mai mici, iar OpenSSH folosește ssh-keygen pentru generarea și administrarea cheilor.

Copiază cheia publică pe server

Folosește:

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

Exemplu:

ssh-copy-id -i ~/.ssh/id_ed25519.pub ion@203.0.113.20

Introdu pentru ultima dată parola utilizatorului. Cheia publică va fi adăugată în:

/home/ion/.ssh/authorized_keys

Dacă ssh-copy-id nu este disponibil, poți copia cheia manual, dar trebuie să păstrezi conținutul complet pe o singură linie.

Pe server, verifică permisiunile:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R "$USER":"$USER" ~/.ssh

Permisiunile incorecte pot face ca OpenSSH să refuze cheia.

Testează autentificarea fără parolă

Nu închide sesiunea SSH existentă. Deschide un terminal nou și rulează:

ssh utilizator@IP_SERVER

Pentru a verifica explicit că serverul nu folosește parola contului:

ssh -o PreferredAuthentications=publickey \
    -o PasswordAuthentication=no \
    utilizator@IP_SERVER

Dacă intri pe server, cheia funcționează. Dacă nu, oprește-te aici și verifică:

ssh -vvv utilizator@IP_SERVER

Pe server urmărește logurile:

sudo journalctl -fu ssh.service

Dezactivează autentificarea prin parolă

Pe Ubuntu este recomandat să păstrezi modificările într-un fișier separat din /etc/ssh/sshd_config.d/. Aceste fișiere sunt mai ușor de administrat, iar configurația personalizată rămâne separată de setările pachetului. Ubuntu precizează că, pentru majoritatea directivelor OpenSSH, prima valoare întâlnită este cea folosită.

Creează un fișier care se încarcă devreme:

sudo nano /etc/ssh/sshd_config.d/00-key-auth.conf

Adaugă:

PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no

Salvează și verifică sintaxa:

sudo sshd -t

Dacă nu apare nicio eroare, verifică setările efective:

sudo sshd -T | grep -E \
'pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|permitrootlogin'

Rezultatul trebuie să includă:

pubkeyauthentication yes
passwordauthentication no
kbdinteractiveauthentication no
permitrootlogin no

Aplică modificările:

sudo systemctl restart ssh

Sesiunea deja deschisă trebuie păstrată. Dintr-un al treilea terminal, conectează-te din nou:

ssh utilizator@IP_SERVER

Închide terminalul vechi numai după ce noua conectare funcționează.

Dacă pierzi accesul

Folosește consola web sau modul de recuperare oferit de furnizorul VPS. Șterge ori corectează fișierul:

/etc/ssh/sshd_config.d/00-key-auth.conf

Apoi verifică și repornește serviciul:

sudo sshd -t
sudo systemctl restart ssh

Pentru fiecare administrator folosește o cheie separată. Când cineva părăsește echipa, elimini doar linia cheii sale din authorized_keys, fără să schimbi accesul celorlalți.

Surse folosite

Ubuntu Server Documentation — OpenSSH Server.
OpenBSD Manual Pages — ssh-keygen și sshd_config.
Ubuntu Server Documentation — Firewall și UFW.

Facebook
X
WhatsApp

Te-ar putea interesa si: