Connettiti alle VM Linux come utente root

Questo documento descrive come connettersi alle istanze di macchine virtuali (VM) Linux come utente root, abilitando i privilegi di super user sulla VM. Per impostazione predefinita, le VM di Compute Engine create da immagini pubbliche e i sistemi operativi più comuni non consentono l'accesso root con una password su SSH.

Un'alternativa alla connessione alle VM come utente root è eseguire i comandi tramite sudo, che consigliamo di eseguire invece di abilitare l'accesso 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.

Abilita accesso root

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

VM OS Login

Abilita l'accesso root effettuando questi passaggi:

  1. Crea una chiave SSH. Copia la chiave SSH pubblica per dopo.

  2. Connettiti alla VM come faresti normalmente.

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

    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 questo comando:

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

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

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. Incolla la chiave SSH pubblica 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 di accesso non al sistema operativo

Abilita l'accesso root effettuando questi passaggi:

  1. Connettiti alla VM come faresti normalmente.

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

    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.

Connetti come utente root

Dopo aver abilitato l'accesso root, connettiti alla VM come utente root. Se ti connetti a una VM in cui è abilitato OS Login, devi utilizzare strumenti di terze parti anziché gcloud CLI.

gcloud

Nota: devi utilizzare strumenti di terze parti per connetterti come utente root se per la VM a cui ti stai connettendo è abilitato OS Login.

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

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Connettiti alla VM eseguendo questo 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 i metodi per diagnosticare e risolvere le connessioni SSH non riuscite, consulta Risoluzione dei problemi relativi a SSH.

Passaggi successivi