−25%

la planurile Windows anuale, până pe 31 oct. Vezi planurile

EQVPS
Începe

Cum creezi un utilizator sudo pe un VPS și renunți la root

Creează un utilizator sudo non-root pe Ubuntu sau Debian, dă-i cheia SSH, testează-l, apoi oprește autentificarea ca root — într-o ordine care nu te poate încuia afară.

Aproape orice VPS nou începe la fel: te autentifici ca root, instalezi câteva lucruri și peste o lună ești tot root. Merge până când un script lipit de undeva șterge directorul greșit. Configurarea unui utilizator normal cu sudo durează cinci minute, iar ordinea contează mai mult decât comenzile — dacă o greșești, te încui afară.

Iată secvența sigură pentru Ubuntu 22.04/24.04 și Debian 12.

1. Creează utilizatorul

Ca root:

adduser deploy
usermod -aG sudo deploy

adduser cere o parolă și câteva detalii opționale (treci prin ele cu Enter). Alege o parolă reală: o vei tasta pentru sudo. Pe o imagine Debian minimală, rulează întâi apt install -y sudo dacă lipsește comanda.

2. Dă-i cheia SSH

Cel mai simplu e să copiezi cheile autorizate ale lui root, cu proprietarul corect:

rsync --archive --chown=deploy:deploy /root/.ssh /home/deploy

Dacă preferi s-o faci de mână:

mkdir -p /home/deploy/.ssh
cp /root/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

Permisiunile greșite sunt motivul clasic pentru care autentificarea cu cheie eșuează fără niciun mesaj. SSH ignoră un authorized_keys în care pot scrie alți utilizatori.

3. Testează înainte să schimbi ceva

Ține deschisă sesiunea root. Într-un terminal nou:

ssh -p 22 deploy@203.0.113.10
sudo whoami

Folosește propriul IP și port — pe un plan NAT, asta e portul tău SSH personal din dashboard. Dacă sudo whoami afișează root, totul e în regulă. Dacă autentificarea eșuează, ai încă fereastra root ca s-o repari.

4. Oprește autentificarea ca root

Acum închide ușa. Creează un mic fișier drop-in în loc să editezi configurația principală:

cat > /etc/ssh/sshd_config.d/10-hardening.conf <<'EOF'
PermitRootLogin no
PasswordAuthentication no
EOF
sshd -t && systemctl reload ssh

sshd -t verifică întâi sintaxa. O configurație stricată plus un reload e felul în care oamenii ajung să aibă nevoie de consolă. PasswordAuthentication no are sens doar după ce autentificarea cu cheie merge pentru noul utilizator — lucru pe care tocmai l-ai testat.

Deschide încă un terminal și confirmă că root e refuzat, iar deploy intră în continuare. Apoi închide vechea sesiune root.

5. Opțional: sudo fără parolă pentru automatizări

Dacă un script de deploy are nevoie de sudo fără cerere de parolă, dă-i exact asta și nimic mai larg:

visudo -f /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp

Sincer, NOPASSWD: ALL e tentant, dar înseamnă că o cheie furată e egală cu root. Limitează-l la comenzile pe care le rulează automatizarea.

Dacă ceva merge prost

Consola web din dashboard nu depinde de SSH sau de firewall. Autentifică-te acolo, repară fișierul din /etc/ssh/sshd_config.d/, reload, gata. Am descris tot fluxul de recuperare în cum intri înapoi pe un VPS în care nu mai poți intra.

Ce urmează

Opțiunile de acces pentru fiecare plan sunt în documentația despre acces. Chiar și un Nano de $3 merită un utilizator non-root — e cel mai ieftin upgrade de securitate care există.

Întrebări frecvente

De ce să nu folosesc în continuare root?

Tot ce rulezi ca root poate strica tot sistemul, inclusiv o greșeală de tastare. Boții încearcă și primul numele de utilizator 'root', deci dezactivarea autentificării root elimină ținta cea mai ghicită. Un utilizator cu nume plus sudo îți dă o pauză înaintea fiecărei comenzi privilegiate și un jurnal cu ce s-a rulat.

Ce fac dacă mă încui afară?

Folosește consola web din dashboard. Merge chiar și când SSH e stricat sau firewallul te blochează, așa că te poți autentifica și poți repara sshd_config. De aceea testezi noul utilizator înainte să închizi sesiunea root.

Să permit sudo fără parolă?

Pentru un cont folosit de un om, păstrează cererea de parolă — e o ultimă linie de apărare dacă ți se scurge cheia SSH. sudo fără parolă e rezonabil pentru un utilizator de deploy dedicat, folosit de automatizări, limitat la comenzile de care chiar are nevoie.

Comanda sudo nu există pe serverul meu Debian. De ce?

Imaginile Debian minimale nu o includ mereu. Instaleaz-o ca root cu 'apt install -y sudo', apoi adaugă utilizatorul în grupul sudo.

Ce port SSH folosesc?

Pe cel afișat în dashboard. Planurile cu IP dedicat folosesc portul 22 pe IP-ul tău; planurile NAT folosesc portul tău SSH personal.

Comentarii

Încă nu există comentarii. Fii primul.

Lasă un comentariu

Comentariile sunt moderate înainte să apară.