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:
Crea una chiave SSH. Copia la chiave SSH pubblica per dopo.
Connettiti alla VM come faresti normalmente.
Modifica
PermitRootLogin no
inPermitRootLogin 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
Crea la directory
/root/.ssh
utilizzando il seguente comando:sudo mkdir /root/.ssh
Imposta le autorizzazioni per la directory
.ssh
eseguendo questo comando:sudo chmod 700 /root/.ssh
Crea il file
authorized_keys
eseguendo questo comando:sudo touch /root/.ssh/authorized_keys
Imposta le autorizzazioni per il file
authorized_keys
eseguendo questo comando:sudo chmod 600 /root/.ssh/authorized_keys
Incolla la chiave SSH pubblica nel file
/root/.ssh/authorized_keys
.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:
Connettiti alla VM come faresti normalmente.
Modifica
PermitRootLogin no
inPermitRootLogin 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
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:
-
In the Google Cloud console, 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.
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 VMZONE
: il nome della zona in cui si trova la VMVM_NAME
: il nome della VM
Strumenti di terze parti
Connettiti alle VM come utente root seguendo le istruzioni per la tua VM:
VM OS Login
Effettua il collegamento utilizzando strumenti di terze parti e specifica quanto segue:
- Chiave privata: la chiave privata corrispondente alla chiave pubblica
che hai aggiunto al file
authorized_keys
- Nome utente: il nome utente deve essere
root
- Chiave privata: la chiave privata corrispondente alla chiave pubblica
che hai aggiunto al file
VM di accesso non al sistema operativo
Crea una chiave SSH per l'utente root. Il nome utente della chiave deve essere
root
.Effettua il collegamento utilizzando strumenti di terze parti e specifica quanto segue:
Chiave privata: la chiave privata dell'utente root.
Nome utente: il nome utente deve essere
root
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
- Scopri come gestire l'accesso alle VM.
- Scopri come trasferire file alle VM.
- Scopri come funzionano le connessioni SSH alle VM Linux su Compute Engine.