Conéctate a VMs de Linux como usuario raíz


En este documento, se describe cómo conectarse a instancias de máquinas virtuales (VM) de Linux como usuario raíz, lo que habilita los privilegios de superusuario en la VM. De forma predeterminada, las VMs de Compute Engine compiladas a partir de imágenes públicas y los sistemas operativos más comunes no permiten el acceso raíz 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, lo que recomendamos en lugar de habilitar el acceso raíz.

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, debes configurar el acceso SSH antes de poder usar estos métodos.

Habilita el acceso raíz

De forma predeterminada, las VMs de Compute Engine, establecen el parámetro PermitRootLogin en prohibit-password o no en el archivo de configuración SSH /etc/ssh/sshd_config. Para habilitar el acceso raíz, sigue las instrucciones de la VM:

VMs con Acceso al SO

Para habilitar el acceso raíz, haz lo siguiente:

  1. Crea una clave SSH. Copia la clave SSH pública para más adelante.

  2. Conéctate a la VM como lo haces normalmente.

  3. Cambia PermitRootLogin no a PermitRootLogin prohibit-password en el archivo /etc/ssh/sshd_config mediante la ejecución del siguiente comando:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. Crea el directorio /root/.ssh con el siguiente comando:

    sudo mkdir /root/.ssh
    
  5. Ejecuta el siguiente comando para configurar los permisos en el directorio .ssh:

    sudo chmod 700 /root/.ssh
    
  6. Crea el archivo authorized_keys mediante la ejecución del siguiente comando:

    sudo touch /root/.ssh/authorized_keys
    
  7. Ejecuta el siguiente comando para configurar los permisos en el archivo authorized_keys:

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

  9. Reinicia el daemon sshd mediante el reinicio de la VM o el comando de reinicio del sistema operativo de tu VM. Espera a que la VM se reinicie y, luego, conéctate como el usuario raíz.

VMs sin Acceso al SO

Para habilitar el acceso raíz, haz lo siguiente:

  1. Conéctate a la VM como lo haces normalmente.

  2. Cambia PermitRootLogin no a PermitRootLogin prohibit-password en el archivo /etc/ssh/sshd_config mediante la ejecución del siguiente comando:

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. Reinicia el daemon sshd mediante el reinicio de la VM o el comando de reinicio del sistema operativo de tu VM. Espera a que la VM se reinicie y, luego, conéctate como el usuario raíz.

Conéctate como usuario raíz

Después de habilitar el acceso raíz, conéctate a la VM como el usuario raíz. Si te conectas a una VM que tiene el Acceso al SO habilitado, 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 conectas tiene habilitado el Acceso al SO.

Conéctate a las VMs como el usuario raíz mediante el comando gcloud compute ssh con root@ especificado antes del nombre de la VM:

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Conéctate a la VM mediante la ejecución del siguiente comando:

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

    Reemplaza 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éctate a las VMs como el usuario raíz mediante las instrucciones para tu VM:

Soluciona problemas

Si deseas encontrar métodos para diagnosticar y resolver conexiones SSH fallidas, consulta Soluciona problemas de SSH.

¿Qué sigue?