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 (administrator per impostazione predefinita) che dispone di autorizzazioni sudo complete, 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 con sudo è 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 con sudo.

  • 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 sudo e 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 rsync o scp come 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-reconfigure o alcune procedure guidate di configurazione del database, che si aspettano un ambiente di accesso root autentico (HOME=/root, PATH root completo), che sudo <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.

    1. Connettiti al tuo Cloud Server tramite SSH o la console web, utilizzando il tuo utente sudo predefinito.
    2. Impostare una password per l'account root:
       sudo passwd root
    1. Inserire e confermare una nuova password complessa quando richiesto.
    2. 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 - e sudo già 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.

    1. Apri il file di configurazione del server SSH:
       sudo nano /etc/ssh/sshd_config
    1. Trova la riga che inizia con PermitRootLogin. Potrebbe essere commentata con un #, oppure impostata su no o prohibit-password.
    2. Modificala in:
       PermitRootLogin yes
    1. Salva e chiudi il file.
    2. Riavvia il servizio SSH per applicare la modifica:
       sudo systemctl restart sshd
    1. 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, ripristina PermitRootLogin su no o prohibit-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 PermitRootLogin viene riportato al suo valore predefinito.
  • 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.


Articoli correlati:

Questo articolo ti è stato utile?

Non trovi quello che stai cercando?

Inizia una chat

È il modo più veloce per contattarci – in inglese, tutti i giorni dell’anno.