Acasă
» LINUX
»
Cum se activează autentificarea SSH Root pe Linux cu chei SSH
Cum se activează autentificarea SSH Root pe Linux cu chei SSH
Activați autentificarea SSH ca utilizator root cu o cheie publică adăugând-o la authorized_keyssetările utilizatorului root PermitRootLogin prohibit-password, validând configurația OpenSSH și reîncărcând serviciul. Aceasta permite utilizatorului root să se autentifice prin cheie, blocând în același timp autentificarea prin parolă și interactivă cu tastatura. Consultați manualul sshd_config al utilizatorului OpenSSH pentru definițiile opțiunilor.
Această ilustrație a terminalului prezintă solicitarea de încredere; verificați amprenta gazdei reale printr-un canal de încredere înainte de a o accepta.
Accesul direct root oferă o cheie acceptată și control nerestricționat. Folosiți-l numai pe un sistem pe care îl administrați și, de preferință, în spatele unei rețele private sau a unui firewall. Pentru lucrul de rutină, conectați-vă ca utilizator numit și utilizați [continuare] sudo. Mențineți sesiunea curentă deschisă și asigurați-vă că aveți o altă cale de recuperare înainte de a modifica setările SSH la distanță.
Înainte de a edita serverul SSH
Conectează-te cu un cont care poate rula sudoși confirmă că serverul OpenSSH rulează.
Pregătiți o pereche de chei SSH pentru client. Veți copia cheia publică (de obicei fișierul care se termină în .pub); nu partajați niciodată cheia privată.
Nu setați o parolă de root doar pentru SSH bazat pe cheie. O parolă blocată și accesul cu cheie publică sunt controale separate, deși politicile contului de distribuție pot afecta autentificarea. Ghidul de gestionare a utilizatorilor Ubuntu explică faptul că blocarea unei parole în sine nu dezactivează accesul la cheia SSH existentă.
Activează autentificarea SSH root bazată pe cheie
1. Conectați-vă ca administrator obișnuit
Dintr-un terminal de pe clientul tău, conectează-te la contul care are deja drepturi sudo:
ssh admin@server.example.com
Înlocuiți valorile exemplu. Verificați o nouă amprentă a cheii gazdă printr-un canal de încredere înainte de a o accepta.
2. Adăugați cheia publică la contul de root
Pe server, creați directorul SSH al utilizatorului root cu permisiuni restricționate, apoi editați lista de chei autorizate:
Lipiți cheia publică completă pe o singură linie și salvați. Nu lipiți niciodată cheia privată și păstrați orice intrări existente. Apoi restricționați proprietatea și permisiunile:
Adăugați cheia publică completă pe o singură linie în fișierul authorized_keys al utilizatorului root; cheia prescurtată afișată aici este doar un substituent vizual.
3. Setați politica de conectare root
Deschideți configurația serverului cu un editor, de exemplu:
Aceasta este mai sigură decât PermitRootLogin yes, care poate permite parole de root. Nu adăugați o directivă duplicată: OpenSSH folosește prima valoare pe care o obține, iar distribuțiile pot încărca Includefișiere. Editați setarea activă și lăsați opțiunile de autentificare care nu au legătură cu aceasta neschimbate.
Linia evidențiată controlează accesul root; celelalte opțiuni de autentificare afișate sunt setări separate și ar trebui să corespundă politicii dvs.
4. Validați configurația înainte de a o aplica
Verificați mai întâi dacă există erori de sintaxă:
sudo sshd -t
Nicio ieșire înseamnă că verificarea sintaxei a trecut. Corectați orice eroare raportată înainte de reîncărcare. Verificați valoarea efectivă cu:
sudo sshd -T | grep permitrootlogin
Confirmați că rezultatul spune permitrootlogin prohibit-password. Dacă nu, verificați fișierele incluse și Matchblocurile aplicabile. Manualul sshd definește acest lucru -tca o verificare a sintaxei și -Tca un raport de configurare efectivă.
Executați comanda sshd -t înainte de a aplica modificările, apoi verificați setarea efectivă de autentificare root.
5. Reîncărcați serviciul SSH
Folosește numele serviciului distribuției tale. Ubuntu și Debian folosesc în mod obișnuit:
sudo systemctl reload ssh.service
Fedora, RHEL și multe alte distribuții folosesc în mod obișnuit:
sudo systemctl reload sshd.service
Dacă reîncărcarea nu este acceptată, utilizați comanda systemctl restartcu numele serviciului corespunzător și păstrați sesiunea inițială deschisă. Ghidul OpenSSH al Ubuntu recomandă, de asemenea, rularea sshd -tînainte de repornire.
Reîncărcați daemonul SSH după ce configurația trece verificarea sintactică; numele serviciilor variază în funcție de distribuție.
6. Testați accesul root dintr-un al doilea terminal
Deschideți un terminal separat pe client și specificați cheia privată care corespunde cheii publice instalate:
ssh -i ~/.ssh/id_ed25519 root@server.example.com
Înlocuiți calea cheii și numele gazdei. Verificați orice solicitare a cheii gazdă și confirmați că sesiunea se deschide ca utilizator root. Dacă testul eșuează, depanați din sesiunea originală și mențineți-o deschisă până când accesul este restabilit.
Testați de pe un terminal client nou folosind cheia privată corespunzătoare înainte de a închide sesiunea de administrator.
Depanarea unei autentificări root refuzate
Pentru Permission denied (publickey), confirmați că există cheia publică completă /root/.ssh/authorized_keysși că clientul folosește cheia privată corespunzătoare. Verificați din nou proprietatea și permisiunile:
Verificați și valoarea efectivă PermitRootLogin, regulile AllowUsers/ DenyUsers, jurnalele serverului și shell-ul de conectare al utilizatorului root. Evitați schimbarea setării la yeso comandă rapidă; acest lucru poate extinde metodele de autentificare permise de utilizatorul root.
Directorul SSH al utilizatorului root ar trebui să fie deținut de utilizatorul root, cu modul 700 pentru director și 600 pentru authorized_keys.
Dezactivați autentificarea SSH root atunci când nu mai aveți nevoie de ea
Pentru a dezactiva accesul direct SSH root, modificați directiva activă la:
PermitRootLogin no
Rulați sudo sshd -tși reîncărcați serviciul corect. Aceasta blochează SSH-ul direct al utilizatorului root, lăsând în același timp disponibil contul de administrator. O blocare prin parolă, în sine, poate să nu dezactiveze autentificarea cu cheie publică a utilizatorului root.
Setați PermitRootLogin la nu, validați și reîncărcați. Celelalte opțiuni de autentificare afișate sunt separate și nu sunt necesare pentru această modificare exclusivă pentru root.