SSH depuis le navigateur

La fonctionnalité SSH depuis le navigateur vous permet d'utiliser SSH pour vous connecter à une instance de machine virtuelle (VM) Compute Engine depuis la console Google Cloud Platform. Vous n'avez pas besoin d'installer des extensions de navigateur Web ou des logiciels supplémentaires pour utiliser cette fonctionnalité. SSH depuis le navigateur est une alternative aux autres méthodes de connexion à une instance.

Se connecter à une instance de VM Linux

Compute Engine gère vos clés SSH chaque fois que vous vous connectez à une instance Linux à partir de votre navigateur, en créant et en appliquant des paires de clés SSH si nécessaire. Vous ne pouvez pas gérer les clés SSH utilisées pour la connexion depuis le navigateur. En revanche, l'accès utilisateur pour se connecter à partir du navigateur est contrôlé par des rôles Cloud Identity and Access Management (IAM). Les membres et les rôles IAM d'un projet sont affichés sur la page IAM de la console Google Cloud Platform :

Accéder à la page IAM

Pour vous connecter via le navigateur, vous devez être un membre du projet et un administrateur d'instance de calcul. Si votre instance peut être exécutée en tant que compte de service, vous devez également être un utilisateur de compte de service. Si vous n'avez pas accès à la connexion via le navigateur, demandez à un propriétaire du projet de vous ajouter au projet et vous accorder l'accès.

Une fois l'accès accordé, connectez-vous à une instance Linux directement depuis le navigateur Web dans la console GCP :

  1. Dans la console GCP, accédez à la page "Instances de VM".

    Accéder à la page Instances de VM

  2. Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne de l'instance à laquelle vous souhaitez vous connecter.

Vous pouvez également ouvrir une connexion SSH à une instance en cliquant sur son nom et sur SSH à partir de la page de détails de l'instance.

Vous pouvez désormais utiliser le terminal pour exécuter des commandes sur votre instance Linux. Lorsque vous avez fini d'utiliser l'instance, déconnectez-vous à l'aide de la commande exit.

Environnements compatibles

La fonctionnalité SSH à partir du navigateur est compatible avec les éléments suivants :

  • Navigateurs Web. Dernière version de Google Chrome, Firefox, Microsoft Edge, Microsoft Internet Explorer 11+ et Safari 8+. Le mode de navigation privée de Safari n'est pas compatible.
  • Configurations de machines virtuelles. Toutes les images de VM Linux disponibles en mode natif dans Google Cloud Platform (GCP).

Problèmes connus

  • Latence de démarrage. Le temps de connexion actuel avec SSH depuis le navigateur est de 5 à 30 secondes. Les versions actuelles de l'environnement invité acceptent des connexions plus rapides.

  • Les nouvelles instances de VM ne sont pas disponibles immédiatement. Remarque : Le démarrage de nouvelles instances peut prendre un certain temps avant qu'une connexion SSH ne puisse être établie. Si vous ne parvenez pas à vous connecter à une nouvelle instance, réessayez après quelques minutes.

  • Interruptions intermittentes. À ce jour, nous n'offrons pas de contrat de niveau de service spécifique aux durées de vie des connexions. Utilisez des multiplexeurs de terminaux comme tmux ou screen si vous prévoyez de garder la fenêtre de terminal ouverte pendant une période prolongée.

  • Connexion à des instances qui ne possèdent pas d'adresse IP externe. Si votre instance Compute Engine ne possède qu'une adresse IP interne, connectez-vous à l'aide de l'une des options suivantes :

    • Fonctionnalité SSH depuis le navigateur avec transfert TCP Cloud Identity-Aware Proxy configuré. Si une instance sans adresse IP externe est configurée pour autoriser le tunnel TCP via Cloud IAP, vous pouvez également vous connecter à cette instance à l'aide de la fonctionnalité SSH depuis le navigateur.

    • Fonctionnalité SSH depuis le navigateur avec hôte bastion. Pour que vous puissiez utiliser cette option, les instances cible et bastion doivent appartenir au même réseau VPC ou à des réseaux VPC connectés.

      Pour vous connecter à l'aide de la fonctionnalité SSH depuis le navigateur avec un hôte bastion, procédez comme suit :

      1. Utilisez la fonctionnalité SSH depuis le navigateur pour vous connecter à l'instance bastion ayant une adresse IP externe. Cette étape génère une paire de clés SSH temporaire et importe la clé publique dans les métadonnées du projet ou de l'instance pour l'hôte bastion.
      2. À partir de l'instance bastion, connectez-vous à l'instance cible qui ne dispose que d'une adresse IP interne. Pour vous connecter à l'instance cible à partir de l'instance bastion, exécutez la commande suivante :

        ssh -A [INTERNAL_IP]
        

        où [INTERNAL_IP] est l'adresse IP interne de l'instance cible. Vous devez exécuter cette commande approximativement dans les deux minutes suivant la connexion à l'instance bastion pour pouvoir utiliser la clé temporaire générée à la première étape.

  • Ctrl+W ferme la fenêtre. Les combinaisons de touches telles que Ctrl+W, Ctrl+F4, Ctrl+Tab et autres combinaisons utilisées comme raccourcis clavier de navigateur ne sont pas transmises par le client SSH au système cible. Pour envoyer ces raccourcis ou d'autres combinaisons au système, cliquez sur l'icône du clavier dans l'angle supérieur droit de la fenêtre. Si vous utilisez le navigateur Google Chrome, vous pouvez installer l'extension SSH for Google Cloud Platform. Celle-ci améliore l'expérience de la console pour se connecter en SSH depuis le navigateur et Cloud Shell en vous donnant un accès direct aux raccourcis clavier normalement réservés au navigateur, tels que Ctrl+W.

  • Le transfert des fichiers volumineux peut parfois être lent. Nous vous recommandons d'exécuter la commande gcloud compute scp pour transférer des fichiers volumineux.

Gérer le message d'erreur "Impossible de se connecter au port 22"

Il se peut que cette erreur s'affiche dans les conditions suivantes :

  • L'instance démarre et sshd n'est pas encore en cours d'exécution. Vérifiez que l'instance a fini de démarrer avant de réessayer.

  • L'instance n'exécute pas sshd. sshd s'exécute par défaut sur les instances créées à partir d'images Compute Engine standards. Si vous avez désactivé manuellement sshd ou si vous avez configuré une image personnalisée qui n'exécute pas ce service, la fonctionnalité SSH depuis le navigateur ne fonctionnera pas.

  • sshd écoute sur un port autre que celui auquel vous vous connectez. Par défaut, l'utilisation de SSH depuis le navigateur permet de se connecter à l'instance sur le port 22. Si vous exécutez sshd sur un port personnalisé, vous pouvez vous connecter à ce port à l'aide de l'élément "Ouvrir dans la fenêtre du navigateur sur un port personnalisé" dans la liste déroulante du bouton SSH.

  • Aucune règle de pare-feu n'autorise l'accès SSH sur le port. L'accès SSH sur le port 22 est activé par défaut sur toutes les instances Compute Engine. Si vous avez désactivé l'accès, la fonctionnalité SSH depuis le navigateur ne fonctionne pas. Si vous exécutez sshd sur un port autre que le port 22, vous devez activer l'accès à ce port avec une règle de pare-feu personnalisée.

  • La règle de pare-feu autorisant l'accès SSH est activée, mais elle n'est pas configurée pour autoriser les connexions depuis les services de la console GCP. Les adresses IP sources pour les sessions SSH basées sur un navigateur sont allouées de manière dynamique par la console GCP, et elles peuvent varier d'une session à l'autre. Pour que cette fonctionnalité opère correctement, vous devez autoriser les connexions à partir de n'importe quelle adresse IP ou de la plage d'adresses IP de Google que vous pouvez récupérer à l'aide d'enregistrements SPF publics.

  • L'instance est arrêtée. Vérifiez que l'instance est opérationnelle. Pour en savoir plus sur la résolution des problèmes liés une instance non opérationnelle, consultez la page Conseils d'ordre général sur l'utilisation de Compute Engine.

Gérer l'erreur "Impossible de se connecter, réessayer…"

  • Il se peut que l'instance n'exécute pas l'environnement invité. Vérifiez que l'environnement invité est installé et en cours d'exécution.

  • L'espace de stockage du disque de démarrage de l'instance est insuffisant. Une fois la connexion établie, l'environnement invité met à jour le fichier ~/.ssh/authorized_keys avec la clé SSH publique utilisée pour la session en cours. Si l'espace de stockage du disque est insuffisant, la mise à jour échoue. Pour identifier les problèmes d'espace disque, vérifiez la sortie de la console série de l'instance et recherchez les messages d'erreur de type "espace insuffisant". Voici quelques méthodes vous permettant de résoudre les problèmes d'espace disque :

    • Redimensionnez le disque persistant de démarrage de l'instance pour augmenter sa taille. Si l'image du système d'exploitation utilisée par l'instance accepte le redimensionnement automatique, il s'agit de l'option la plus simple. En effet, le système d'exploitation redimensionne automatiquement la partition racine pour l'adapter à la nouvelle taille après le redémarrage de l'instance.
    • Si vous savez quels fichiers consomment l'espace disque, créez un script de démarrage qui supprime les fichiers inutiles et libère de l'espace pour que l'instance puisse démarrer. Redémarrez l'instance pour que le script s'exécute et nettoie les fichiers. Veillez à utiliser la bonne commande et à supprimer les fichiers inutiles. Une fois que votre instance a démarré et que vous pouvez vous connecter via SSH, paramétrez l'élément de métadonnées startup-script afin qu'il arrête de supprimer les fichiers.
    • Pour en savoir plus sur l'accès au disque de l'instance, consultez la page Conseils d'ordre général sur l'utilisation de Compute Engine.
  • La propriété de $HOME, $HOME/.ssh ou $HOME/.ssh/authorized_keys, ou les autorisations qui y sont associées, sont incorrectes. L'environnement invité doit pouvoir stocker la clé SSH publique dans le fichier $HOME/.ssh/authorized_keys pour l'utilisateur qui se connecte. Pour le répertoire $HOME, définissez les autorisations Unix sur 0755 ou 0700. Pour le répertoire $HOME/.ssh, définissez les autorisations Unix sur 0700. Pour le fichier authorized_keys, définissez les autorisations Unix sur 0600. Assurez-vous que le propriétaire du répertoire $HOME, du répertoire $HOME/.ssh et du fichier authorized_keys est l'utilisateur qui se connecte. Essayez de vous connecter sous un utilisateur différent en modifiant le nom d'utilisateur, puis corrigez les problèmes d'autorisation pour l'utilisateur qui ne parvient pas à se connecter.

Copier/Coller

Vous pouvez copier et coller du texte à l'aide des raccourcis clavier compatibles avec votre navigateur et votre plate-forme (Ctrl+C/Ctrl+V sous Windows et Linux, Cmd+C/Cmd+V sous macOS et Ctrl+Shift+V sous Chrome OS). En général, ces commandes fonctionnent pour la plupart des configurations, mais votre configuration peut générer des résultats différents.

Transférer des fichiers

Si vous êtes en mesure d'établir une connexion SSH à une instance à l'aide de la fenêtre "SSH depuis le navigateur", vous pouvez utiliser cette connexion pour transférer des fichiers vers l'instance.

Pour en savoir plus, consultez la section Transfert de fichiers à l'aide du protocole SSH dans le navigateur.

Défilement

Vous pouvez faire défiler le terminal en utilisant la molette de la souris ou le pavé tactile. Les raccourcis clavier Ctrl+Shift+PageUp/Ctrl+Shift+PageDn font défiler le terminal sous Windows et Linux, et Fn+Shift+Up/Fn+Shift+Down font défiler le terminal sur macOS.

Identifiant de connexion

Nom d'utilisateur par défaut

Par défaut, un nom d'utilisateur pour les sessions SSH est généré à partir de l'adresse e-mail connectée au compte, en omettant les informations du domaine. Par exemple, le nom d'utilisateur correspondant à l'adresse e-mail user@gmail.com est user.

Nom d'utilisateur par défaut avec la connexion au système d'exploitation activée

Si vous avez activé la connexion au système d'exploitation et qu'aucun nom d'utilisateur n'a été défini par un administrateur G Suite, une version plus longue d'un nom d'utilisateur est définie par défaut. Ce nom d'utilisateur inclut les informations relatives au domaine. Par exemple, le nom d'utilisateur correspondant à l'adresse e-mail user@gmail.com est user_gmail_com. Pour en savoir plus sur les comportements de la connexion au système d'exploitation, consultez la section Comportements de connexion attendus.

Modifier le nom d'utilisateur par défaut

Vous pouvez modifier le nom d'utilisateur dans une fenêtre SSH en suivant les instructions suivantes :

  1. Connectez-vous à une instance de VM.
  2. Dans l'angle supérieur droit de la fenêtre SSH, cliquez sur l'icône Paramètres Icône Paramètres.
  3. Sélectionnez Modifier le nom d'utilisateur Linux. Sous Linux, les noms d'utilisateur sont limités à 32 caractères, ce qui explique pourquoi les noms d'utilisateur par défaut ou configurés sont tronqués.
  4. (Facultatif) Copiez les données dans le nouveau répertoire d'accueil. Chaque nouveau nom d'utilisateur est un utilisateur Unix différent. Par conséquent, si vous avez utilisé votre répertoire d'accueil pour stocker des données, vous pouvez copier ces dernières dans le nouveau répertoire à l'aide de la commande cp. Par exemple, si vous changez le nom d'utilisateur user_gmail_com en user, exécutez les commandes suivantes :

    # This will overwrite files in the target directory, so be careful.
    $ sudo cp -r /home/user_gmail_com/. /home/user
    
    $ sudo chown -R user:user /home/user
    
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine