Se connecter à des VM Linux en tant qu'utilisateur racine


Ce document explique comment se connecter à des instances de machines virtuelles (VM) Linux en tant qu'utilisateur racine, ce qui active les droits de super-utilisateur sur la VM. Par défaut, les VM Compute Engine créées à partir d'images publiques et les systèmes d'exploitation les plus courants n'autorisent pas la connexion en tant qu'utilisateur racine avec un mot de passe via SSH.

Plutôt que de vous connecter à des VM en tant qu'utilisateur racine, vous pouvez aussi exécuter les commandes via sudo. Nous vous recommandons cette méthode au lieu d'activer la connexion racine.

Systèmes d'exploitation compatibles

Ces méthodes de connexion sont compatibles avec toutes les images Linux publiques disponibles sur Compute Engine. Pour les images Fedora CoreOS, vous devez configurer l'accès SSH afin de pouvoir utiliser ces méthodes.

Activer la connexion racine

Par défaut, sur les VM Compute Engine, définissez le paramètre PermitRootLogin sur prohibit-password ou no dans le fichier de configuration SSH /etc/ssh/sshd_config. Activez la connexion racine en suivant les instructions de votre VM :

VM OS Login

Pour activer la connexion racine, procédez comme suit :

  1. Créez une clé SSH. Copiez la clé publique SSH pour plus tard.

  2. Connectez-vous à la VM comme d'habitude.

  3. Remplacez PermitRootLogin no par PermitRootLogin prohibit-password dans le fichier /etc/ssh/sshd_config, en exécutant la commande suivante :

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. Créez le répertoire /root/.ssh à l'aide de la commande suivante :

    sudo mkdir /root/.ssh
    
  5. Définissez des autorisations sur le répertoire .ssh en exécutant la commande suivante :

    sudo chmod 700 /root/.ssh
    
  6. Créez le fichier authorized_keys en exécutant la commande suivante :

    sudo touch /root/.ssh/authorized_keys
    
  7. Définissez des autorisations sur le fichier authorized_keys en exécutant la commande suivante :

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. Collez la clé SSH publique dans le fichier /root/.ssh/authorized_keys.

  9. Redémarrez le daemon sshd en relançant la VM ou en exécutant la commande de redémarrage pour le système d'exploitation de votre VM. Attendez que la VM redémarre, puis connectez-vous en tant qu'utilisateur racine.

VM autres qu'OS Login

Pour activer la connexion racine, procédez comme suit :

  1. Connectez-vous à la VM comme vous le faites habituellement.

  2. Remplacez PermitRootLogin no par PermitRootLogin prohibit-password dans le fichier /etc/ssh/sshd_config, en exécutant la commande suivante :

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. Redémarrez le daemon sshd en relançant la VM ou en exécutant la commande de redémarrage pour le système d'exploitation de votre VM. Attendez que la VM redémarre, puis connectez-vous en tant qu'utilisateur racine.

Se connecter en tant qu'utilisateur racine

Après avoir activé la connexion racine, connectez-vous à la VM en tant qu'utilisateur racine. Si vous vous connectez à une VM sur laquelle OS Login est activé, vous devez utiliser des outils tiers plutôt que la gcloud CLI.

gcloud

Remarque : Vous devez utiliser des outils tiers pour vous connecter en tant qu'utilisateur racine si OS Login est activé sur la VM à laquelle vous vous connectez.

Connectez-vous à des VM en tant qu'utilisateur racine à l'aide de la commande gcloud compute ssh en spécifiant root@ avant le nom de la 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. Connectez-vous à la VM en exécutant la commande suivante :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant la VM
    • ZONE : nom de la zone dans laquelle se trouve la VM
    • VM_NAME : nom de la VM

Outils tiers

Connectez-vous aux VM en tant qu'utilisateur racine en suivant les instructions correspondant à votre VM :

Dépannage

Pour connaître les méthodes de diagnostic et de résolution des échecs de connexion SSH, consultez la page Résoudre les problèmes liés à SSH.

Étapes suivantes