Un server Linux poate avea mai multe conturi locale, dar asta nu înseamnă că toate trebuie să se poată conecta prin SSH. Poți permite accesul doar administratorilor autorizați, doar membrilor unui grup sau numai conexiunilor venite din anumite adrese IP.
Restricția poate fi aplicată în două locuri: în configurația OpenSSH, pentru control după utilizator, și în firewall, pentru blocarea traficului înainte să ajungă la serviciul SSH. Pe un server important este util să le combini.
Păstrează sesiunea SSH actuală deschisă până când testezi configurația dintr-un al doilea terminal. O regulă greșită te poate bloca în afara serverului.
Verifică utilizatorii care au nevoie de acces
Să presupunem că numai utilizatorii ion și maria trebuie să administreze serverul.
Verifică existența conturilor:
id ion
id maria
Vezi cine este conectat acum:
who
Înainte de modificare, caută reguli SSH deja existente:
sudo grep -RniE \
'^(Allow|Deny)(Users|Groups)' \
/etc/ssh/sshd_config \
/etc/ssh/sshd_config.d/
Acest pas este important deoarece regulile existente se pot combina cu cele noi.
Permite SSH doar anumitor utilizatori
Pe Ubuntu, configurațiile personalizate pot fi păstrate separat în /etc/ssh/sshd_config.d/, fără să modifici direct fișierul principal. OpenSSH oferă directiva AllowUsers, care permite autentificarea numai utilizatorilor enumerați.
Creează fișierul:
sudo nano /etc/ssh/sshd_config.d/00-access-control.conf
Adaugă:
AllowUsers ion maria
PermitRootLogin no
Din acel moment, alte conturi locale nu vor mai putea intra prin SSH, chiar dacă au parolă sau cheie configurată. Accesul local prin consolă nu este eliminat.
Verifică sintaxa înainte să aplici modificările:
sudo sshd -t
Dacă nu apare nicio eroare, reîncarcă serviciul:
sudo systemctl reload ssh
Ubuntu recomandă testarea configurației cu sshd -t înainte de restart sau reload, tocmai pentru a evita pierderea accesului remote.
Folosește un grup dedicat administratorilor
Pentru mai multe persoane, un grup este mai ușor de administrat decât o listă lungă de utilizatori.
Creează grupul:
sudo groupadd ssh-admins
Adaugă administratorii:
sudo usermod -aG ssh-admins ion
sudo usermod -aG ssh-admins maria
Verifică:
getent group ssh-admins
În configurația SSH folosește:
AllowGroups ssh-admins
PermitRootLogin no
Directiva AllowGroups permite autentificarea numai utilizatorilor care aparțin grupurilor indicate. Sunt luate în calcul atât grupul principal, cât și grupurile suplimentare ale utilizatorului.
Nu folosi simultan AllowUsers și AllowGroups fără să înțelegi efectul: utilizatorul trebuie să treacă toate restricțiile aplicabile.
Restricționează un utilizator la o anumită adresă IP
AllowUsers acceptă și forma UTILIZATOR@ADRESĂ. Poți permite accesul utilizatorului ion numai dintr-un IP fix:
AllowUsers ion@203.0.113.10
Pentru o rețea întreagă:
AllowUsers ion@203.0.113.0/24
Pentru doi administratori din locații diferite:
AllowUsers ion@203.0.113.10 maria@198.51.100.0/24
OpenSSH acceptă în această regulă atât adrese individuale, cât și rețele exprimate în format CIDR.
Folosește IP-uri reale, verificate. Adresele din exemple sunt rezervate documentației și nu trebuie copiate ca atare.
Limitează portul SSH și prin UFW
Firewall-ul este locul mai potrivit pentru blocarea conexiunilor venite din exterior. Mai întâi adaugă regula nouă:
sudo ufw allow from IP_ADMIN \
to any port 22 proto tcp
Exemplu pentru o rețea:
sudo ufw allow from 192.0.2.0/24 \
to any port 22 proto tcp
Verifică regulile numerotate:
sudo ufw status numbered
Testează conectarea dintr-un terminal nou. Numai după confirmare elimină regula generală care permite SSH de oriunde:
sudo ufw delete allow OpenSSH
UFW permite reguli care combină adresa sursă cu un anumit serviciu sau port.
Verifică separat și firewall-ul furnizorului VPS, Security Group-ul sau regulile cloud. O regulă locală corectă nu compensează un port 22 permis global în infrastructura furnizorului.
Confirmă că restricția funcționează
Dintr-un IP permis:
ssh ion@IP_SERVER
Dintr-un utilizator nepermis, autentificarea trebuie refuzată:
ssh test@IP_SERVER
Verifică logurile:
sudo journalctl -u ssh -n 50 --no-pager
sau, pe Ubuntu și Debian:
sudo tail -n 50 /var/log/auth.log
Dacă ai adresă IP dinamică, nu limita SSH la un singur IP rezidențial fără să ai consolă de recuperare. O variantă mai sigură este accesul prin VPN, o rețea de administrare sau un IP fix.
Configurația recomandată pentru un server de firmă este clară: cont separat pentru fiecare administrator, grup SSH dedicat, autentificare prin chei, root login dezactivat și portul 22 permis numai din sursele necesare.
Surse folosite
OpenSSH Manual — AllowUsers, AllowGroups, adrese CIDR și blocuri condiționale.
Ubuntu Server Documentation — configurarea OpenSSH și testarea cu sshd -t.
Ubuntu Server Documentation — reguli UFW limitate după adresa sursă.

















































