Dacă încă folosești parole pentru SSH, expui sistemul la atacuri brute-force. În acest ghid practic, vei învăța să configurezi autentificare prin chei SSH pe orice server Linux - o metodă de 127x mai sigură decât parolele tradiționale.


De ce Chei SSH?

 Statistici alarmante:

  • 76% din atacurile cibernetice încep cu SSH parolat

  • Autentificarea cu cheie reduce riscul de breșă cu 99,8%

  • Nu necesită memorare parole complexe


Pasul 1: Generare Chei pe Client

1.1 Creare Pereche de Chei

ssh-keygen -t ed25519 -C "email@domeniu.ro"  

 Recomandare: Apasă Enter pentru locația implicită (~/.ssh/id_ed25519)

1.2 Setare Parolă Opțională

Introdu o frază de acces (passphrase) pentru criptarea cheii private:

Enter passphrase (empty for no passphrase): [Parolă_Complexă!]  

 Best practice: Folosește o passphrase de minim 12 caractere!

1.3 Verificare Fișiere Generat

ls -l ~/.ssh/  

 Ar trebui să vezi:

  • id_ed25519 → Cheia PRIVATĂ (nu o distribui!)

  • id_ed25519.pub → Cheia PUBLICĂ


Pasul 2: Copiere Cheie Publică pe Server

2.1 Metodă Automată (ssh-copy-id)

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip  

Introdu parola contului remote pentru transfer.

2.2 Metodă Manuală

  1. Afișează cheia publică:

 
cat ~/.ssh/id_ed25519.pub  
  1. Copiază conținutul

  2. Pe server:

 
mkdir -p ~/.ssh  
echo "cheie_publica_copiată" >> ~/.ssh/authorized_keys  
chmod 700 ~/.ssh  
chmod 600 ~/.ssh/authorized_keys  

Pasul 3: Testare Conexiune

ssh -i ~/.ssh/id_ed25519 user@server_ip  

 Dacă ai setat passphrase, va fi solicitată o singură dată per sesiune.


Pasul 4: Dezactivare Parole (Hardening)

  1. Editează /etc/ssh/sshd_config:

 
sudo nano /etc/ssh/sshd_config  
  1. Modifică setările:

 
PasswordAuthentication no  
PermitEmptyPasswords no  
ChallengeResponseAuthentication no  
  1. Resetează serviciul SSH:

 
sudo systemctl restart sshd  

Pasul 5: Gestionare Avansată Chei

5.1 Adăugare Chei în ssh-agent

Pentru a evita introducerea repetată a passphrase:

eval "$(ssh-agent -s)"  
ssh-add ~/.ssh/id_ed25519  

5.2 Chei Multiple pe Același Cont

Adaugă mai multe chei în authorized_keys (câte un rând per cheie):

echo "cheie_publica_2" >> ~/.ssh/authorized_keys  

Bonus: Restricționare Acces pe IP

În ~/.ssh/authorized_keys adaugă restricții:

from="192.168.1.100" ssh-ed25519 AAAAC3Nz... email@domeniu.ro  

 Permite conexiuni DOAR de la IP-ul specificat


Tabel Comparativ Securitate

Metodă Putere Criptare Vulnerabilități
Chei ED25519 128-bit Rezistente la computere cuantice
Parole SSH < 64-bit Atacuri brute-force
RSA 4096 112-bit Vulnerabil la Shor's algorithm

Depanare Rapidă

  • "Permission denied (publickey)":
    Verifică permisiunile pe server:

     
    chmod 700 ~/.ssh  
    chmod 600 ~/.ssh/authorized_keys  
  • Agentul nu memorează passphrase:
    Pornește agentul: eval $(ssh-agent) apoi ssh-add

  • Conexiune refuzată după dezactivare parole:
    Confirmă că ~/.ssh/authorized_keys conține cheia corectă


Practici Esențiale de Securitate

  1. Rotație Chei: Schimbă cheile la fiecare 90 de zile

  2. Revocare Acces: Șterge linia corespunzătoare din authorized_keys

  3. Audit Lunar: Verifică data ultimei autentificări cu:

 
grep "ssh" /var/log/auth.log  

Ce Faci în Caz de Pierdere Cheie?

  1. Conectează-te prin consolă de rezervă (KVM/IPMI)

  2. Adaugă o cheie nouă în authorized_keys

  3. Revocă cheia compromisă:

 
ssh-keygen -R server_ip  

De ce ED25519 și nu RSA?

⚡ Avantaje decisive:

  • Semnături de 57% mai rapide

  • Rezistență superioară la atacuri

  • Chei de 4x mai scurte (68 caractere vs 300+)

Regula de aur:

Folosește chei ED25519 pentru toate sistemele noi!

Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)