Créer des clés SSH


Ce document explique comment créer une paire de clés SSH pour les instances de machines virtuelles (VM) Compute Engine.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

Créer une paire de clés SSH

Si vous vous connectez à des VM à l'aide de la console Google Cloud ou de Google Cloud CLI, Compute Engine crée des clés SSH en votre nom. Pour en savoir plus sur la manière dont Compute Engine configure et stocke les clés, consultez la page À propos des connexions SSH.

Si vous vous connectez à des VM à l'aide d'outils tiers ou d'OpenSSH, vous devez ajouter une clé à votre VM pour pouvoir vous connecter. Si vous ne possédez pas de clé SSH, vous devez en créer une. Les VM acceptent les formats de clé répertoriés dans le fichier sshd_config.

Linux et macOS

Sur les stations de travail Linux et macOS, utilisez l'utilitaire ssh-keygen pour créer une paire de clés SSH. L'exemple suivant permet de créer une paire de clés RSA.

Ouvrez un terminal et utilisez la commande ssh-keygen avec l'option -C pour créer une nouvelle paire de clés SSH.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME -b 2048

Remplacez les éléments suivants :

  • KEY_FILENAME : nom de votre fichier de clé SSH.

    Par exemple, le nom de fichier my-ssh-key génère un fichier de clé privée nommé my-ssh-key et un fichier de clé publique nommé my-ssh-key.pub.

  • USERNAME : votre nom d'utilisateur sur la VM. Par exemple, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Pour les VM Linux, USERNAME ne peut pas être défini sur root, sauf si vous configurez votre VM pour autoriser la connexion racine. Pour en savoir plus, consultez Se connecter à des VM en tant qu'utilisateur racine.

    Pour les VM Windows qui utilisent Active Directory (AD), le nom d'utilisateur doit être précédé du domaine AD, au format DOMAIN\. Par exemple, l'utilisateur cloudysanfrancisco du domaine AD ad.example.com possède un USERNAME de example\cloudysanfrancisco.

ssh-keygen enregistre votre fichier de clé privée sous ~/.ssh/KEY_FILENAME et votre fichier de clé publique sous ~/.ssh/KEY_FILENAME.pub.

Une clé publique pour l'utilisateur cloudysanfrancisco ressemble à ce qui suit :

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 ou version ultérieure

Sur les stations de travail équipées de Windows 10 ou d'une version ultérieure, utilisez l'utilitaire ssh-keygen pour créer une paire de clés SSH. L'exemple suivant permet de créer une paire de clés RSA.

Ouvrez l'invite de commande et utilisez la commande ssh-keygen avec l'option -C pour créer une paire de clés SSH.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048

Remplacez les éléments suivants :

  • WINDOWS_USER : votre nom d'utilisateur sur la machine Windows

  • KEY_FILENAME : nom de votre fichier de clé SSH.

    Par exemple, le nom de fichier my-ssh-key génère un fichier de clé privée nommé my-ssh-key et un fichier de clé publique nommé my-ssh-key.pub.

  • USERNAME : votre nom d'utilisateur sur la VM. Par exemple, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Pour les VM Linux, USERNAME ne peut pas être défini sur root, sauf si vous configurez votre VM pour autoriser la connexion racine. Pour en savoir plus, consultez Se connecter à des VM en tant qu'utilisateur racine.

    Pour les VM Windows qui utilisent Active Directory (AD), le nom d'utilisateur doit être précédé du domaine AD, au format DOMAIN\. Par exemple, l'utilisateur cloudysanfrancisco du domaine AD ad.example.com possède un USERNAME de example\cloudysanfrancisco.

ssh-keygen enregistre votre fichier de clé privée sous C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME et votre fichier de clé publique sous C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub.

Une clé publique pour l'utilisateur cloudysanfrancisco ressemble à ce qui suit :

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 ou version antérieure

Sur les postes de travail utilisant Windows 8 ou une version antérieure, utilisez l'outil PuTTYgen pour créer une paire de clés SSH. L'exemple suivant permet de créer une paire de clés RSA.

  1. Téléchargez puttygen.exe si ce n'est pas déjà fait.

  2. Ouvrez PuTTYgen.

  3. Sous Paramètres, spécifiez les éléments suivants :

    • Type de clé à générer : RSA
    • Nombre de bits dans une clé générée : 2048 ou plus
  4. Cliquez sur Générer et suivez les instructions à l'écran.

    L'outil affiche la valeur de la clé publique.

  5. Dans la section Commentaire sur la clé, remplacez le texte prérempli par votre nom d'utilisateur. Par exemple, cloudysanfrancisco ou cloudysanfrancisco_gmail_com.

    Pour les VM Linux, le commentaire de clé ne peut pas être root, sauf si vous configurez votre VM pour autoriser la connexion racine. Pour en savoir plus, consultez Se connecter à des VM en tant qu'utilisateur racine.

    Pour les VM Windows qui utilisent Active Directory (AD), le commentaire de clé doit être précédé du domaine AD, au format DOMAIN\. Par exemple, l'utilisateur cloudysanfrancisco du domaine AD ad.example.com possède un commentaire de clé example\cloudysanfrancisco.

  6. Facultatif : saisissez une phrase secrète de clé pour protéger votre clé par mot de passe.

  7. Cliquez sur Enregistrer la clé privée pour choisir un emplacement où enregistrer la clé privée.

    PuTTYgen écrit la clé privée dans un fichier avec une extension .ppk.

  8. Cliquez sur Enregistrer la clé publique pour choisir l'emplacement où enregistrer la clé publique. Laissez la fenêtre PuTTYgen ouverte.

  9. Copiez le texte du champ Clé publique à coller dans le fichier "OpenSSH authorized_keys".

  10. Ouvrez le fichier de clé publique. La clé publique a un format semblable à celui-ci :

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. Remplacez l'intégralité du contenu du fichier de clé publique par la valeur que vous avez copiée depuis le champ Clé publique à coller dans le fichier OpenSSH authorized_keys, afin que votre fichier de clé publique corresponde au format suivant :

    KEY_VALUE USERNAME
    

Une clé publique pour l'utilisateur cloudysanfrancisco ressemble à ce qui suit :

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Étape suivante