Gestion des paires de clés sur les instances Linux

Les instances lancées à l'aide d'images Oracle Linux, CentOS ou Ubuntu utilisent une paire de clés SSH au lieu d'un mot de passe pour authentifier un utilisateur distant (reportez-vous à Informations d'identification de sécurité). Une paire de clés comprend une clé privée et une clé publique. Conservez la clé privée sur votre ordinateur et fournissez la clé publique lorsque vous créez une instance. Lorsque vous vous connectez à l'instance à l'aide de SSH, vous indiquez le chemin de la clé privée dans la commande SSH.

Si vous passez par OpenSSH pour vous connecter à une instance, vous pouvez utiliser une paire de clés générée par Oracle Cloud Infrastructure au moment de la création de l'instance. OpenSSH doit être installé sur les systèmes Unix (y compris Linux et OS X), Windows 10 et Windows Server 2019.

Important

Oracle ne stocke pas de copie de la clé privée générée par la console. Par conséquent, vous devez conserver une copie de la clé privée pour vous connecter à votre instance. Sans clé privée, la seule solution pour se connecter à une instance consiste à créer une instance à l'aide d'une nouvelle clé privée.

Vous pouvez posséder autant de paires de clés que nécessaire, ou faire simple et en utiliser une seule pour l'ensemble ou certaines de vos instances.

Pour créer vos propres paires de clés, vous pouvez utiliser un outil tiers tel qu'OpenSSH sur les systèmes de type Unix (notamment Linux, Solaris, BSD et OS X), ou le générateur de clés PuTTY sous Windows.

Attention

Toute personne ayant accès à la clé privée peut se connecter à l'instance. Stockez la clé privée dans un emplacement sécurisé.

Format de clé publique SSH requis

Si vous fournissez votre propre paire de clés, elle doit utiliser le format OpenSSH.

Le format d'une clé publique est le suivant :

<key_type> <public_key> <optional_comment>

Par exemple, une clé publique RSA ressemble à ce qui suit :

ssh-rsa AAAAB3BzaC1yc2EAAAADAQABAAABAQD9BRwrUiLDki6P0+jZhwsjS2muM...
                    
                    ...yXDus/5DQ== rsa-key-20201202

Pour les images de plate-forme, les types de clé SSH suivants sont pris en charge : RSA, DSA, DSS, ECDSA et Ed25519. Si vous utilisez votre propre image, vous êtes responsable de la gestion des types de clé SSH pris en charge.

Pour les clés RSA, DSS et DSA, un minimum de 2 048 bits est recommandé. Pour les clés ECDSA, un minimum de 256 bits est recommandé.

Avant de commencer

  • Si vous utilisez un système de type UNIX, l'utilitaire ssh-keygen est probablement déjà installé. Pour déterminer si l'utilitaire est installé, saisissez ssh-keygen sur la ligne de commande. S'il n'est pas installé, vous pouvez télécharger OpenSSH pour UNIX à partir de la page http://www.openssh.com/portable.html et l'installer.
  • Si vous utilisez un système d'exploitation Windows, vous devez disposer de PuTTY et de son générateur de clés. Téléchargez PuTTY et PuTTYgen à partir de la page http://www.putty.org et installez-les.
  • Assurez-vous que les droits d'accès pour les clés et le dossier SSH sont les suivants :
    • Le dossier SSH doit être 700
    • Clés publiques : 644
    • Clés privées : 400

Création d'une paire de clés SSH sur la ligne de commande

  1. Ouvrez un shell ou un terminal pour entrer les commandes.
  2. A l'invite, saisissez ssh-keygen, puis le nom de la clé lorsque vous y êtes invité. Vous pouvez éventuellement inclure une phrase de passe.

    Les clés seront créées avec les valeurs par défaut : clés RSA de 2 048 bits.

Vous pouvez également saisir une commande ssh-keygen complète, par exemple :

ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>

Les arguments de commande sont présentés dans le tableau suivant :

Argument Description
-t rsa Utilisez l'algorithme RSA.
-N "<phrase de passe>"

Phrase de passe permettant de protéger l'utilisation de la clé (comme un mot de passe). Si vous ne voulez pas définir de phrase de passe, ne saisissez rien entre les guillemets.

La phrase de passe n'est pas obligatoire. Vous pouvez en définir une comme mesure de sécurité afin de protéger la clé privée d'une utilisation non autorisée. Si vous spécifiez une phrase de passe, lorsque vous vous connectez à l'instance, vous devez fournir cette phrase de passe, ce qui rend généralement plus difficile l'automatisation de la connexion.

-b 2048

Générez une clé 2 048 bits. Vous n'avez pas besoin de définir cet argument si la valeur 2 048 est acceptable, étant donné qu'il s'agit de la valeur par défaut.

Un minimum de 2 048 bits est recommandé pour SSH-2 RSA.

-C "<nom_clé>" Nom identifiant la clé.
-f <path/root_name> Emplacement d'enregistrement de la paire de clés et nom de la racine des fichiers.

Création d'une paire de clés SSH à l'aide du générateur de clés PuTTY

  1. Recherchez puttygen.exe dans le dossier PuTTY de votre ordinateur, par exemple, C:\Program Files (x86)\PuTTY. Cliquez deux fois sur puttygen.exe pour l'ouvrir.
  2. Indiquez le type de clé SSH-2 RSA et la taille de clé 2 048 bits :

    • Dans le menu Key, assurez-vous que la valeur par défaut SSH-2 RSA key est sélectionnée.
    • Pour Type of key to generate, acceptez le type de clé par défaut RSA.
    • Définissez Number of bits in a generated key sur 2 048 si la valeur n'est pas déjà définie.
  3. Cliquez sur Générer.
  4. Déplacez la souris dans la zone vide dans la fenêtre PuTTY pour générer des données aléatoires dans la clé.

    Lorsque la clé est générée, elle apparaît sous Public key for pasting into OpenSSH authorized_keys file.

  5. Un commentaire sur la clé est généré pour vous, qui comprend la date et l'heure. Vous pouvez conserver le commentaire par défaut ou le remplacer par un commentaire plus descriptif.
  6. Laissez le champ Key passphrase vide.
  7. Cliquez sur Save private key, puis sur Yes dans l'invite concernant l'enregistrement de la clé sans phrase de passe.

    La paire de clés est enregistrée au format PuTTY Private Key (PPK), qui est un format propriétaire fonctionnant uniquement avec l'ensemble d'outils PuTTY.

    Vous pouvez donner à la clé le nom de votre choix, mais utilisez l'extension de fichier ppk. Par exemple, mykey.ppk.

  8. Sélectionnez l'intégralité de la clé générée qui apparaît sous Public key for pasting into OpenSSH authorized_keys file, copiez-la via le raccourci Ctrl + C, collez-la dans un fichier texte, puis enregistrez le fichier au même emplacement que la clé privée.

    (N'utilisez pas l'option Save public key, car elle n'enregistre pas la clé au format OpenSSH.)

    Vous pouvez donner à la clé le nom de votre choix, mais pour plus de cohérence, utilisez le même nom que la clé privée et l'extension de fichier pub. Par exemple, mykey.pub.

  9. Notez le nom et l'emplacement de vos fichiers de clé publique et privée. Vous aurez besoin de la clé publique lors du lancement d'une instance. Vous aurez besoin de la clé privée pour accéder à l'instance via SSH.

Maintenant que vous disposez d'une paire de clés, vous êtes prêt à lancer des instances, comme décrit dans Création d'une instance.