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 permet d'activer les droits de super-utilisateur sur la VM. Par défaut, les VM Compute Engine créées à partir d'images publiques et des 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, les VM Compute Engine définissent 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é SSH publique pour plus tard.

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

  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 au lieu de 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. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  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