Am văzut destul de mulți administratori de servere, mai ales la început de drum, care se bazează exclusiv pe parola de root pentru acces SSH. Deși e convenabil, e și una dintre cele mai mari vulnerabilități. Un VPS, fie că rulează Flarum, servere de gaming sau orice altceva, e expus constant la atacuri brute-force care încearcă să ghicească parola. Dacă ai o parolă slabă, ești deja în pericol.
Soluția cea mai sigură și, sincer, la fel de comodă odată ce te obișnuiești, este autentificarea cu chei SSH. E simplu de configurat și elimină aproape complet riscul atacurilor brute-force. Eu așa procedez de fiecare dată când pun la punct un server nou:
- Generezi cheile SSH local: Pe calculatorul tău, deschizi un terminal (sau Git Bash pe Windows) și rulezi
ssh-keygen -t rsa -b 4096 -C "email@exemplu.com". Îți va cere o parolă pentru cheie (passphrase); e bine să o folosești, dar nu e obligatoriu.
- Copiezi cheia publică pe server: Folosești
ssh-copy-id user@your_vps_ip. Această comandă copiază automat cheia publică (id_rsa.pub) în fișierul ~/.ssh/authorized_keys de pe serverul tău. Dacă nu ai ssh-copy-id, poți face manual cu cat ~/.ssh/id_rsa.pub | ssh user@your_vps_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys".
- Dezactivezi autentificarea cu parolă pe server: Te conectezi la server via SSH (încă cu parolă, dacă e prima dată) și editezi fișierul
/etc/ssh/sshd_config. Caută liniile PasswordAuthentication yes și PermitRootLogin yes și modifică-le în PasswordAuthentication no și PermitRootLogin prohibit-password (sau no dacă vrei să blochezi direct root). După aia, dai un sudo systemctl restart sshd.
După restart, nu te deconecta imediat! Deschide un nou terminal și încearcă să te conectezi folosind cheia SSH. Dacă merge, poți închide vechea sesiune. Dacă nu, ai timp să repari problema și să reactivezi autentificarea cu parolă.
Din experiență, acest pas e vital pentru orice VPS. Voi cum securizați accesul SSH la serverele voastre? Folosiți alte metode sau aveți scripturi de automatizare pentru generarea și copierea cheilor?