Capitolul 3 · 3.2
Dezactivarea autentificării cu parolă și ca root
Orice server de pe internet primește în scurt timp vizita unor programe care încearcă să ghicească parole. Dacă vă puteți autentifica doar cu o cheie, acestea nu au nicio șansă. Acum veți activa acest lucru.
Atenție: Funcționează autentificarea cu cheia dvs. ca anna (consultați Un utilizator propriu cu sudo)? Atunci creați mai întâi un snapshot (consultați Snapshoturi: o plasă de siguranță pentru orice modificare importantă) și păstrați o sesiune deschisă în timpul acestor pași. Dacă totuși ceva nu merge, puteți intra prin consolă (consultați Consola: serverul VPS în browserul dumneavoastră).
Un fișier propriu de setări
Pe Debian și Ubuntu, serverul SSH citește mai întâi fișierele din /etc/ssh/sshd_config.d/, în ordine alfabetică. Pentru fiecare setare contează prima valoare pe care o întâlnește. De aceea, fișierul dvs. primește un nume care apare la început:
anna@web1:~$ sudo nano /etc/ssh/sshd_config.d/00-eigen.conf
Introduceți în el:
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PasswordAuthentication no: nicio parolă prin SSH.KbdInteractiveAuthentication no: nici cerere de parolă pe o cale ocolită.PermitRootLogin no: root nu se mai poate autentifica prin SSH, nici măcar cu o cheie. Lucrați ca anna cu sudo. Dacă doriți să permiteți în continuare root cu o cheie, folosițiprohibit-password.
Verificare și aplicare
anna@web1:~$ sudo sshd -t
anna@web1:~$ sudo sshd -T | grep -Ei '^(passwordauthentication|kbdinteractiveauthentication|permitrootlogin)'
passwordauthentication no
kbdinteractiveauthentication no
permitrootlogin no
anna@web1:~$ sudo systemctl restart ssh
sshd -t nu afișează nimic dacă fișierul este corect. sshd -T arată ce valori se aplică efectiv. Mai apare passwordauthentication yes? Atunci un alt fișier din sshd_config.d o reactivează, adesea 50-cloud-init.conf. Fișierul dvs. 00-eigen.conf se află înaintea acestuia și are prioritate; verificați dacă numele este corect.
Pe AlmaLinux și Rocky Linux serviciul se numește sshd: sudo systemctl restart sshd.
Testați înainte de a închide sesiunea
Deschideți o fereastră nouă și încercați:
ssh anna@203.0.113.10
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no anna@203.0.113.10
anna@203.0.113.10: Permission denied (publickey).
ssh root@203.0.113.10
root@203.0.113.10: Permission denied (publickey).
Prima comandă trebuie să funcționeze. Celelalte două trebuie să fie refuzate. Este totul în regulă? Atunci ștergeți snapshotul.
Sfat: Un alt număr de port decât 22 vă păstrează jurnalul mai liniștit, dar nu vă face serverul mai sigur. Cheia face treaba. Dacă totuși schimbați portul, deschideți-l mai întâi în firewall (consultați Un firewall cu ufw (sau nftables)).
