Conéctese a máquinas virtuales Linux como usuario root


Este documento describe cómo conectarse a instancias de máquinas virtuales (VM) de Linux como usuario raíz, lo que habilita privilegios de superusuario en la VM. De forma predeterminada, las máquinas virtuales de Compute Engine creadas a partir de imágenes públicas y los sistemas operativos más comunes no permiten el inicio de sesión de root con una contraseña a través de SSH.

Una alternativa a conectarse a las máquinas virtuales como usuario root es ejecutar comandos a través de sudo , lo cual recomendamos en lugar de habilitar el inicio de sesión root.

Sistemas operativos compatibles

Estos métodos de conexión son compatibles con todas las imágenes públicas de Linux que están disponibles en Compute Engine. Para imágenes de Fedora CoreOS, debe configurar el acceso SSH antes de poder utilizar estos métodos.

Habilitar inicio de sesión raíz

De forma predeterminada, las máquinas virtuales de Compute Engine configuran el parámetro PermitRootLogin en prohibit-password o no en el archivo de configuración SSH /etc/ssh/sshd_config . Habilite el inicio de sesión raíz siguiendo las instrucciones para su VM:

Máquinas virtuales de inicio de sesión en el sistema operativo

Habilite el inicio de sesión raíz haciendo lo siguiente:

  1. Crea una clave SSH . Copie la clave SSH pública para más tarde.

  2. Conéctese a la VM como lo hace habitualmente.

  3. Cambie PermitRootLogin no a PermitRootLogin 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
    
  4. Cree el directorio /root/.ssh usando el siguiente comando:

    sudo mkdir /root/.ssh
    
  5. Establezca permisos en el directorio .ssh ejecutando el siguiente comando:

    sudo chmod 700 /root/.ssh
    
  6. Cree el archivo authorized_keys ejecutando el siguiente comando:

    sudo touch /root/.ssh/authorized_keys
    
  7. Establezca permisos en el archivo authorized_keys ejecutando el siguiente comando:

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. Pegue la clave SSH pública en el archivo /root/.ssh/authorized_keys .

  9. Reinicie el demonio sshd reiniciando la VM o ejecutando el comando de reinicio para el sistema operativo de su VM. Espere a que la máquina virtual se reinicie y luego conéctese como usuario root.

Máquinas virtuales de inicio de sesión sin sistema operativo

Habilite el inicio de sesión raíz haciendo lo siguiente:

  1. Conéctese a la VM como lo hace habitualmente.

  2. Cambie PermitRootLogin no a PermitRootLogin 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
    
  3. Reinicie el demonio sshd reiniciando la VM o ejecutando el comando de reinicio para el sistema operativo de su VM. Espere a que la máquina virtual se reinicie y luego conéctese como usuario root.

Conéctese como usuario root

Después de habilitar el inicio de sesión raíz, conéctese a la máquina virtual como usuario raíz. Si te conectas a una máquina virtual que tiene habilitado el inicio de sesión en el sistema operativo, debes usar herramientas de terceros en lugar de la CLI de gcloud.

nube de gcloud

Nota: Debe utilizar herramientas de terceros para conectarse como usuario raíz si la máquina virtual a la que se está conectando tiene habilitado el inicio de sesión en el sistema operativo.

Conéctate a las máquinas virtuales como usuario root mediante el comando gcloud compute ssh con root@ especificado antes del nombre de la máquina virtual:

  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. Conéctese a la VM ejecutando el siguiente comando:

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

    Reemplace lo siguiente:

    • PROJECT_ID : el ID del proyecto que contiene la VM
    • ZONE : el nombre de la zona en la que se encuentra la VM
    • VM_NAME : el nombre de la VM

Herramientas de terceros

Conéctese a las máquinas virtuales como usuario raíz siguiendo las instrucciones de su máquina virtual:

Solución de problemas

Para encontrar métodos para diagnosticar y resolver conexiones SSH fallidas, consulte Solución de problemas de SSH .

¿Qué sigue?