Come abilitare l'accesso root sul tuo Linux Cloud Server
Puoi sbloccare l'account root e, se necessario, abilitare l'accesso SSH root diretto sul tuo Linux Cloud Server. Questo è utile quando un'applicazione o un programma di installazione richiede specificamente l'utente root anziché sudo. Si applica a tutti i prodotti Cloud Server (VPS) non gestiti di one.com che eseguono Linux.
Prima di iniziare, assicurati di avere:
- Un Cloud Server attivo con una distribuzione Linux installata.
- Accesso al tuo server tramite SSH o la console Web oneHome, utilizzando il tuo utente sudo predefinito. Vedi Connettiti al tuo server Cloud Linux tramite SSH se non l'hai ancora fatto.
- La password del tuo utente sudo, per autorizzare i passaggi seguenti.
-
Perché potresti aver bisogno dell'accesso root
Per impostazione predefinita, un nuovo Cloud Server viene fornito con un utente non root (
administratorper impostazione predefinita) che dispone di autorizzazionisudocomplete, anziché un account root con una password impostata o un accesso SSH root diretto. Questo è intenzionale: segue la comune pratica di hardening di Linux e riduce l'esposizione ad attacchi brute-force automatizzati contro il noto nome utente \"root\". Per la maggior parte dell'amministrazione quotidiana, l'esecuzione di comandi consudoè sufficiente ed è l'approccio consigliato.Detto questo, alcune applicazioni, programmi di installazione o script richiedono esplicitamente il vero utente root, ad esempio controllando
$EUID -eq 0, anziché una shell con privilegi sudo, e si rifiutano di essere eseguiti correttamente solo consudo. -
Quando potresti averne bisogno
Situazioni tipiche in cui ne avresti bisogno:
- Installare software utilizzando un programma di installazione che richiede una shell root.
- Esecuzione di script di installazione di terze parti che rifiutano
sudoe richiedono l'utente root letterale. - Utilizzare applicazioni o strumenti legacy progettati solo per l'utente root.
- Ripristino dell'accesso se l'account del tuo utente sudo viene bloccato, eliminato o se la sua configurazione sudoers si interrompe. Una password di root è il tuo percorso di riserva per rientrare nel server.
- Riparazione del sistema in modalità di ripristino, ad esempio per un bootloader danneggiato o un problema al file system, dove lavorare all'interno di un chroot significa che i soliti meccanismi di sudo potrebbero non essere disponibili in modo affidabile.
- Migrazione di un intero server o sincronizzazione di un backup completo con
rsyncoscpcome root, in modo che la proprietà dei file e le autorizzazioni vengano trasferite esattamente in tutto il sistema. - Esecuzione di strumenti di configurazione interattivi, come
dpkg-reconfigureo alcune procedure guidate di configurazione del database, che si aspettano un ambiente di accesso root autentico (HOME=/root,PATHroot completo), chesudo <command>da solo non replica completamente. - Gestione di cron job di proprietà di root, o consentire a un agente di monitoraggio o di backup di installarsi come servizio systemd di proprietà di root.
Istruzioni passo dopo passo
-
Parte 1: impostare una password di root (primo passaggio obbligatorio)
Questo è il primo passaggio obbligatorio e fornisce una shell root senza aprire SSH.
- Connettiti al tuo Cloud Server tramite SSH o la console web, utilizzando il tuo utente sudo predefinito.
- Impostare una password per l'account root:
sudo passwd root
- Inserire e confermare una nuova password complessa quando richiesto.
- Ora puoi passare all'utente root dalla sessione corrente in qualsiasi momento:
su -
Se hai bisogno solo di una shell root o vuoi eseguire comandi singoli come root, non devi andare oltre;
su -esudogià coprono questo senza esporre SSH. -
Parte 2: abilitare il login diretto come root tramite SSH (opzionale)
Abilita questa opzione solo se qualcosa richiede espressamente di accedere come root tramite SSH, anziché passare a root dopo la connessione.
- Apri il file di configurazione del server SSH:
sudo nano /etc/ssh/sshd_config
- Trova la riga che inizia con
PermitRootLogin. Potrebbe essere commentata con un#, oppure impostata sunooprohibit-password. - Modificala in:
PermitRootLogin yes
- Salva e chiudi il file.
- Riavvia il servizio SSH per applicare la modifica:
sudo systemctl restart sshd
- Ora puoi connetterti direttamente come root:
ssh root@
Per utilizzare una chiave SSH invece di una password per il login come root, aggiungi la tua chiave pubblica a
/root/.ssh/authorized_keys.
Importante da sapere
Abilitare l'accesso SSH diretto come root aumenta la superficie di attacco del server
"root" è un nome utente ben noto che i bot automatizzati prendono di mira con tentativi di accesso brute-force. Se lo abiliti, limita l'accesso SSH agli IP attendibili tramite Firewall / Regole di accesso IP e utilizza una password forte e univoca o l'autenticazione tramite chiave SSH. Una volta che non ti serve più l'accesso SSH diretto come root, ripristinaPermitRootLoginsunooprohibit-password.
-
Note importanti
- La gestione e la messa in sicurezza dell'accesso root sono interamente di competenza del sistema operativo guest e sono una tua responsabilità. Ciò esula dal livello gestito dalla piattaforma del tuo Cloud Server non gestito.
- Una reinstallazione reinstalla il sistema operativo da zero, il che reimposta l'account root al suo stato predefinito bloccato e
PermitRootLoginviene riportato al suo valore predefinito.
- La gestione e la messa in sicurezza dell'accesso root sono interamente di competenza del sistema operativo guest e sono una tua responsabilità. Ciò esula dal livello gestito dalla piattaforma del tuo Cloud Server non gestito.
-
Risoluzione dei problemi
Se i passaggi precedenti non funzionano, ecco alcune altre cose da controllare:
-
"passwd: Authentication token manipulation error"
Controlla che il filesystem non sia pieno o montato in sola lettura (df -h).
-
Accesso root ancora rifiutato dopo aver modificato
PermitRootLogin
Conferma di aver riavviato il servizio SSH (sudo systemctl restart sshd) e controlla la presenza di un file di override in conflitto in/etc/ssh/sshd_config.d/.
-
"Permission denied (publickey)" durante la connessione come root tramite SSH
Se il tuo server accetta solo l'autenticazione basata su chiave, aggiungi la tua chiave SSH a/root/.ssh/authorized_keys, oppure assicurati che sia consentita anche l'autenticazione tramite password, se è così che intendi accedere.
-
Bloccato dopo aver modificato
sshd_config
Utilizza la console Web in oneHome, che non richiede SSH, per correggere il file di configurazione e riavviare il servizio SSH.
-
"passwd: Authentication token manipulation error"
Articoli correlati: