Connettiti alle VM Linux come utente root


Questo documento descrive come connettersi alle istanze di macchine virtuali (VM) Linux come utente root, il che abilita i privilegi di superutente sulla VM. Per impostazione predefinita, le VM Compute Engine create da immagini pubbliche e la maggior parte dei sistemi operativi comuni non consentono l'accesso come utente root con una password tramite SSH.

Un'alternativa per connettersi alle VM come utente root è eseguire i comandi tramite sudo, che consigliamo di utilizzare anziché attivare l'accesso come utente root.

Sistemi operativi supportati

Questi metodi di connessione sono supportati per tutte le immagini Linux pubbliche disponibili su Compute Engine. Per le immagini Fedora CoreOS, devi configurare l'accesso SSH prima di poter utilizzare questi metodi.

Attiva l'accesso come utente root

Per impostazione predefinita, le VM Compute Engine impostano il parametro PermitRootLogin su prohibit-password o no nel file di configurazione SSH /etc/ssh/sshd_config. Attiva l'accesso come utente root seguendo le istruzioni per la tua VM:

VM con accesso al sistema operativo

Attiva l'accesso come utente root nel seguente modo:

  1. Crea una chiave SSH. Copia la chiave pubblica SSH per utilizzarla in un secondo momento.

  2. Connettiti alla VM come faresti di solito.

  3. Sostituisci PermitRootLogin no con PermitRootLogin prohibit-password nel /etc/ssh/sshd_config file, eseguendo il seguente comando:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. Crea la directory /root/.ssh utilizzando il seguente comando:

    sudo mkdir /root/.ssh
    
  5. Imposta le autorizzazioni per la directory .ssh eseguendo il seguente comando:

    sudo chmod 700 /root/.ssh
    
  6. Crea il file authorized_keys eseguendo il seguente comando:

    sudo touch /root/.ssh/authorized_keys
    
  7. Imposta le autorizzazioni sul file authorized_keys eseguendo il seguente comando:

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. Incolla la chiave pubblica SSH nel file /root/.ssh/authorized_keys.

  9. Riavvia il daemon sshd riavviando la VM o eseguendo il comando di riavvio per il sistema operativo della VM. Attendi il riavvio della VM, quindi connettiti come utente root.

VM senza accesso al sistema operativo

Attiva l'accesso come utente root nel seguente modo:

  1. Connettiti alla VM come faresti di solito.

  2. Sostituisci PermitRootLogin no con PermitRootLogin prohibit-password nel /etc/ssh/sshd_config file, eseguendo il seguente comando:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. Riavvia il daemon sshd riavviando la VM o eseguendo il comando di riavvio per il sistema operativo della VM. Attendi il riavvio della VM, quindi connettiti come utente root.

Connettiti come utente root

Dopo aver attivato l'accesso come utente root, connettiti alla VM come utente root. Se ti connetti a una VM in cui è attivato l'accesso come OS Login, devi utilizzare strumenti di terze parti invece dell'interfaccia a riga di comando gcloud.

gcloud

Nota: devi utilizzare strumenti di terze parti per connetterti come utente root se nella VM a cui ti connetti è abilitato l'accesso all'OS Login.

Connettiti alle VM come utente root utilizzando il comando gcloud compute ssh con root@ specificato prima del nome della VM:

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Connettiti alla VM eseguendo il seguente comando:

    gcloud compute ssh \
        --project=PROJECT_ID \
        --zone=ZONE \
        root@VM_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene la VM
    • ZONE: il nome della zona in cui si trova la VM
    • VM_NAME: il nome della VM

Strumenti di terze parti

Connettiti alle VM come utente root seguendo le istruzioni per la tua VM:

Risoluzione dei problemi

Per trovare metodi per diagnosticare e risolvere le connessioni SSH non riuscite, consulta la sezione Risoluzione dei problemi relativi a SSH.

Passaggi successivi