En este documento se describe cómo conectarse a instancias de máquinas virtuales (VMs) de Linux como usuario root, lo que permite tener privilegios de superusuario en la VM. De forma predeterminada, las VMs de Compute Engine creadas a partir de imágenes públicas y los sistemas operativos más comunes no permiten iniciar sesión como superusuario con una contraseña a través de SSH.
Una alternativa a conectarse a las VMs como usuario raíz es ejecutar comandos a través de sudo
, que es lo que recomendamos en lugar de habilitar el inicio de sesión como administrador.
Sistemas operativos compatibles
Estos métodos de conexión se admiten en todas las imágenes públicas de Linux que están disponibles en Compute Engine. En el caso de las imágenes de Fedora CoreOS, debes configurar el acceso SSH antes de poder usar estos métodos.
Habilitar el inicio de sesión de root
De forma predeterminada, las VMs de Compute Engine definen el parámetro PermitRootLogin
en prohibit-password
o no
en el archivo de configuración /etc/ssh/sshd_config
de SSH. Habilita el inicio de sesión de root siguiendo las instrucciones de tu VM:
Máquinas virtuales con OS Login
Para habilitar el inicio de sesión de root, haz lo siguiente:
Crea una clave SSH. Copia la clave SSH pública para más adelante.
Conéctate a la VM como lo haces normalmente.
Cambia
PermitRootLogin no
porPermitRootLogin prohibit-password
en el archivo/etc/ssh/sshd_config
ejecutando el siguiente comando:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
Crea el directorio
/root/.ssh
con el siguiente comando:sudo mkdir /root/.ssh
Define los permisos en el directorio
.ssh
ejecutando el siguiente comando:sudo chmod 700 /root/.ssh
Crea el archivo
authorized_keys
ejecutando el siguiente comando:sudo touch /root/.ssh/authorized_keys
Define los permisos del archivo
authorized_keys
ejecutando el siguiente comando:sudo chmod 600 /root/.ssh/authorized_keys
Pega la clave SSH pública en el archivo
/root/.ssh/authorized_keys
.Reinicia el daemon
sshd
reiniciando la máquina virtual o ejecutando el comando restart para el sistema operativo de tu máquina virtual. Espera a que se reinicie la VM y, a continuación, conéctate como usuario root.
Máquinas virtuales sin OS Login
Para habilitar el inicio de sesión de root, haz lo siguiente:
Conéctate a la VM como lo haces normalmente.
Cambia
PermitRootLogin no
porPermitRootLogin prohibit-password
en el archivo/etc/ssh/sshd_config
ejecutando el siguiente comando:sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
Reinicia el daemon
sshd
reiniciando la máquina virtual o ejecutando el comando restart para el sistema operativo de tu máquina virtual. Espera a que se reinicie la VM y, a continuación, conéctate como usuario root.
Conectarse como usuario root
Después de habilitar el inicio de sesión de superusuario, conéctate a la VM como usuario root. Si te conectas a una VM que tiene habilitado OS Login, debes usar herramientas de terceros en lugar de la CLI de gcloud.
gcloud
Nota: Debes usar herramientas de terceros para conectarte como usuario raíz si la VM a la que te vas a conectar tiene habilitado el inicio de sesión del SO.
Conéctate a las VMs como usuario raíz mediante el comando gcloud compute ssh
con root@
especificado antes del nombre de la 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.
Conéctate a la VM ejecutando el siguiente comando:
gcloud compute ssh \ --project=PROJECT_ID \ --zone=ZONE \ root@VM_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene la VMZONE
: el nombre de la zona en la que se encuentra la VMVM_NAME
: el nombre de la VM
Herramientas de terceros
Conéctate a las VMs como usuario raíz siguiendo las instrucciones correspondientes a tu VM:
Máquinas virtuales con inicio de sesión del SO
Conéctate mediante herramientas de terceros y especifica lo siguiente:
- Clave privada: la clave privada que corresponde a la clave pública que has añadido al archivo
authorized_keys
. - Nombre de usuario: el nombre de usuario debe ser
root
- Clave privada: la clave privada que corresponde a la clave pública que has añadido al archivo
VMs sin OS Login
Crea una clave SSH para el usuario root. El nombre de usuario de la clave debe ser
root
.Conéctate mediante herramientas de terceros y especifica lo siguiente:
Clave privada: la clave privada del usuario raíz.
Nombre de usuario: el nombre de usuario debe ser
root
Solución de problemas
Para consultar métodos para diagnosticar y resolver conexiones SSH fallidas, consulta Solución de problemas de SSH.
Siguientes pasos
- Consulta cómo gestionar el acceso a las máquinas virtuales.
- Consulta cómo transferir archivos a máquinas virtuales.
- Consulta cómo funcionan las conexiones SSH a máquinas virtuales de Linux en Compute Engine.