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 super user 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 root con una password tramite SSH.

Un'alternativa per connettersi alle VM come utente root è eseguire i comandi tramite sudo, che consigliamo al posto 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 l'accesso 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. Abilita l'accesso root seguendo le istruzioni per la tua VM:

VM con OS Login

Abilita l'accesso root nel seguente modo:

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

  2. Connettiti alla VM come faresti di solito.

  3. Sostituisci PermitRootLogin no con PermitRootLogin prohibit-password nel file /etc/ssh/sshd_config, 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 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 senza OS Login

Abilita l'accesso root nel seguente modo:

  1. Connettiti alla VM come faresti di solito.

  2. Sostituisci PermitRootLogin no con PermitRootLogin prohibit-password nel file /etc/ssh/sshd_config, 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 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 invece di gcloud CLI.

gcloud

Nota: devi utilizzare strumenti di terze parti per connetterti come utente root se nella VM a cui ti connetti è abilitato 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 Risoluzione dei problemi relativi a SSH.

Passaggi successivi