Remarque :

Générer des clés SSH

Introduction

Le protocole SSH (Secure Shell) est une méthode permettant de sécuriser la connexion à distance d'un ordinateur à un autre. SSH permet l'administration sécurisée du système et les transferts de fichiers sur des réseaux non sécurisés en utilisant le chiffrement pour sécuriser les connexions entre les adresses. Les clés SSH jouent un rôle important dans l'accès sécurisé aux instances de calcul Oracle Cloud Infrastructure dans le cloud.

Si vous disposez déjà d'une paire de clés SSH, vous pouvez l'utiliser pour vous connecter à votre environnement. Nous vous recommandons d'utiliser Oracle Cloud Shell pour l'interface avec l'instance de calcul OCI que vous allez créer. Oracle Cloud Shell est basé sur un navigateur. Il ne nécessite aucune installation ou configuration sur votre ordinateur portable et fonctionne indépendamment de votre configuration réseau. Toutefois, si vous préférez vous connecter via votre ordinateur portable, sélectionnez une option basée sur votre configuration.

Important : si la clé SSH n'est pas créée correctement, vous ne pourrez pas vous connecter à votre environnement et vous obtiendrez des erreurs. Veillez à créer correctement votre clé.

Option 1 : Shell Oracle Cloud

Regardez la vidéo ci-dessous pour obtenir une présentation de l'option Generate SSH Keys Cloud Shell.

La machine Cloud Shell est une petite machine virtuelle exécutant un shell Bash auquel vous accédez via la console OCI (page d'accueil). Cloud Shell fournit une interface de ligne de commande OCI (interface de ligne de commande) pré-authentifiée définie sur la région de page d'accueil de la location de la console, ainsi que des outils et utilitaires à jour. Pour utiliser l'ordinateur Cloud Shell, l'administrateur de location doit accorder la stratégie IAM (Identity and Access Management) requise.

  1. Pour démarrer le shell Oracle Cloud, accédez à la console cloud et cliquez sur l'icône de shell cloud en haut à droite de la page.

  2. Une fois le shell cloud démarré, entrez les commandes suivantes. Choisissez le nom de clé que vous pouvez mémoriser. Il s'agit du nom de clé que vous utiliserez pour vous connecter à toutes les instances de calcul que vous créez. Appuyez deux fois sur Entrée pour ne pas saisir de phrase de passe.

    mkdir .ssh
    cd .ssh
    ssh-keygen -b 2048 -t rsa -f <<sshkeyname>>
    

    Remarque : les chevrons "" ne doivent pas apparaître dans votre code.

  3. Examinez les deux fichiers que vous venez de créer.

    ls
    

    Notez dans la sortie qu'il existe deux fichiers, une clé privée : <<sshkeyname>> et une clé publique : <<sshkeyname>>.pub. Conservez la clé privée en sécurité et ne partagez son contenu avec personne. La clé publique est nécessaire pour diverses activités et peut être téléchargée vers certains systèmes, ainsi que copiée et collée pour faciliter les communications sécurisées dans le cloud.

  4. Pour répertorier le contenu de la clé publique, utilisez la commande cat cat <<sshkeyname>>.pub

    Remarque : les chevrons "" ne doivent pas apparaître dans votre code.

  5. Lors du collage de la clé dans l'instance de calcul lors d'exercices ultérieurs, assurez-vous d'enlever les retours permanents qui ont pu être ajoutés lors de la copie. La clé .pub doit être une ligne.

Option 2 : MacOS

Regardez la vidéo ci-dessous pour obtenir un aperçu de l'option Générer des clés SSH Mac.

  1. Si vous ne disposez pas encore d'un raccourci vers l'application de terminal pour MacOS, vous pouvez le trouver dans le menu Applications > Utilitaires ou (Shift+Command+U) de votre clavier.

  2. Démarrez Terminal et saisissez la commande ssh-keygen. ssh-keygen vous demandera où enregistrer la clé, acceptez la valeur par défaut du dossier .ssh dans votre répertoire personnel en appuyant sur Entrée. Le nom de fichier sera id_rsa ou tout ce que vous choisissez pour nommer votre clé. Appuyez deux fois sur Entrée pour ne pas saisir de phrase de passe. N'oubliez pas le répertoire dans lequel vous avez enregistré la clé (~/.ssh), vous devrez la référencer ultérieurement lors de la création de l'instance.

    ssh-keygen
    

  3. Saisissez les commandes suivantes dans la fenêtre de terminal pour vérifier que les clés publiques et privées ont été créées et pour copier le contenu de la clé publique à utiliser lors de la création de l'instance dans la boîte de dialogue OCI.

    cd .ssh
    ls
    cat id_rsa.pub
    

    Notez dans la sortie qu'il existe deux fichiers, une clé privée : id_rsa et une clé publique : id_rsa.pub. Conservez la clé privée en sécurité et ne partagez son contenu avec personne. La clé publique est nécessaire pour diverses activités et peut être téléchargée vers certains systèmes, ainsi que copiée et collée pour faciliter les communications sécurisées dans le cloud.

  4. Si vous êtes prêt à créer une instance, copiez le contenu et collez-le lorsque vous êtes invité à saisir la clé SSH. Veillez à supprimer les retours permanents qui ont été ajoutés lors de la copie.

Cliquez pour le guide de l'utilisateur de terminal MacOS

Option 3 : Windows 10

Regardez la vidéo ci-dessous pour obtenir un aperçu de l'option Générer des clés SSH Windows.

La création de clés pour Windows peut être intéressante car ssh-keygen n'était pas un utilitaire natif pour Windows jusqu'à la version de Windows 10. Et il n'a pas été inclus dans les versions initiales de Windows 10.

  1. Ouvrez une fenêtre de commande Powershell sur votre système Windows 10 en cliquant sur son icône/tile ou en saisissant 'powershell' dans le champ de recherche de la barre de démarrage.

  2. Entrez la commande ssh-keygen dans la fenêtre de terminal. Portez une attention particulière à l'emplacement d'enregistrement du fichier afin de pouvoir le localiser ultérieurement. ssh-keygen utilise par défaut le répertoire .ssh standard sous le répertoire de base de l'utilisateur.

    ssh-keygen
    
  3. Appuyez sur Entrée à toutes les invites pour accepter l'emplacement par défaut, les noms de fichier par défaut et aucune phrase de passe.

    Remarque : dans les variantes Unix, un dossier avec un point (.) devant lui était généralement désigné pour les fichiers de configuration et masqué dans la vue normale. Cependant, un point (.) ne signifie rien de spécial devant les dossiers Windows. Le dossier existera donc mais ne sera pas masqué.

  4. Vérifiez que vos clés existent et ont été créées correctement. Entrez les commandes suivantes dans la fenêtre Powershell.

    cd .ssh
    ls
    cat id_rsa.pub
    

    Vous disposez désormais d'une paire de clés SSH fonctionnelle et pouvez l'utiliser pour des communications sécurisées vers des instances dans le cloud. Ne partagez la clé privée id_rsa avec personne, sauf si vous comprenez ce que vous faites. Vous devez uniquement partager et copier la clé publique id_rsa.pub.

  5. Notez également que si vous choisissez de copier/coller le contenu de la clé dans certaines boîtes de dialogue pour vos exercices, vous devez localiser le fichier dans Windows, soit via Powershell, Explorer ou d'autres outils d'annuaire, et ouvrir le fichier de clés publiques pour copier son contenu. L'exemple ci-dessous utilise Powershell pour cat le contenu. Vous pouvez sélectionner le texte à l'aide de la souris, mais les commandes Copier/Coller ne sont pas disponibles. Utilisez <ctrl-c> pour copier le contenu dans le presse-papiers afin de le coller dans d'autres boîtes de dialogue d'application.

    Vous pouvez également ouvrir le fichier à l'aide du Bloc-notes, du Wordpad ou d'autres éditeurs de texte.

    Remarque : n'utilisez pas MS Word ou d'autres éditeurs de texte enrichi car ils peuvent ajouter des caractères de formatage supplémentaires qui rendront la clé inutilisable.

Option 4 : Versions antérieures de Windows

Utiliser Git

Dans les versions antérieures de Windows, ssh-keygen n'était pas un utilitaire natif, donc les utilitaires tiers devaient être utilisés. Dans cette section, nous allons illustrer l'utilisation de Git for Windows. Git for Windows inclut un shell similaire à Unix appelé Git Bash, qui est ce que vous allez utiliser pour créer des clés et établir des communications SSH avec vos systèmes hôte cloud. Si vous préférez PuTTY, passez à la section suivante.

  1. Si vous ne l'avez pas déjà installé, accédez au lien ci-dessous et téléchargez l'application. Si vous ne parvenez pas à installer un élément sur votre ordinateur portable en raison de problèmes d'autorisation, utilisez l'option Oracle Cloud Shell ci-dessus.

    Cliquez ici pour télécharger Git pour Windows

  2. Suivez les instructions d'installation.

    Remarque : l'installation de Git pour Windows n'est pas traitée dans cet exercice.

  3. Une fois installé, vous devez disposer d'une entrée dans le menu Démarrer de Windows pour Git, qui doit inclure la commande Git Bash. Cliquez sur la commande Git Bash.

  4. Entrez ssh-keygen dans la fenêtre de terminal. Appuyez sur la touche Entrée pour accepter l'emplacement par défaut (~/.ssh) et le nom de fichier par défaut (id_rsa) et <Enter> deux fois de plus sans phrase de passe.

    ssh-keygen
    

    Remarque : la partie délicate ici est que Git Bash utilise un répertoire d'origine Unix simulé. Pour afficher, extraire ou copier vos clés, vous devez accéder à la structure de répertoires Windows.

  5. Commencez par naviguer vers le haut dans le répertoire racine C :.

    cd c:
    

    Ensuite, accédez au dossier .ssh dans votre répertoire personnel normal.

    cd Users/<your home folder name>/.ssh/
    

    Remarque : les chevrons <> ne doivent pas apparaître dans votre code.

    ls
    

    Notez dans la sortie qu'il existe deux fichiers, une clé privée : id_rsa et une clé publique : id_rsa.pub. Conservez la clé privée en sécurité et ne partagez son contenu avec personne. La clé publique est nécessaire pour diverses activités et peut être téléchargée vers certains systèmes, ainsi que copiée et collée pour faciliter les communications sécurisées dans le cloud.

  6. Notez l'emplacement des fichiers de clés publiques et privées SSH. Vous pouvez être invité à télécharger le fichier vers le serveur ou à copier/coller le contenu dans d'autres exercices pour Oracle Cloud Services. Copiez exactement le contenu de la clé, en capturant de l'espace après les caractères de la clé pouvant rendre la clé non valide. Dans l'exemple ci-dessous, vous pouvez utiliser la commande gitbash cat pour afficher le contenu du fichier de clés publiques. Vous pouvez sélectionner le contenu du fichier de clés et cliquer avec le bouton droit de la souris pour Copier la clé. Vous pouvez également télécharger le fichier directement.

    Remarque : si vous avez déjà installé Git pour Windows, ne vous dérangez pas avec PuTTY. Il s'agit de l'utilitaire à utiliser pour la génération de clés et l'accès aux terminaux.

Utilisez PuTTY

Dans les versions antérieures de Windows, ssh-keygen n'était pas un utilitaire natif, donc les utilitaires tiers devaient être utilisés. Cette section illustre l'utilisation de PuTTY. Si vous préférez Git pour Windows, accédez à l'option avant celle-ci.

  1. Si vous ne l'avez pas déjà installé, accédez au lien ci-dessous et téléchargez l'application. Pour les employés d'Oracle, PuTTY est également disponible pour téléchargement en interne via l'application MyDesktop. Pour les employés et les clients autres qu’Oracle, utilisez le lien ci-dessous. Si vous ne parvenez pas à installer un élément sur votre ordinateur portable en raison de problèmes d'autorisation, utilisez l'option Oracle Cloud Shell ci-dessus.

    Cliquez ici pour télécharger PuTTY pour Windows

  2. Suivez les instructions d'installation.

    Remarque : l'installation de PuTTY n'est pas traitée dans ce document d'exercices pratiques.

    Une fois installé, vous devez disposer d'une entrée dans votre menu Démarrer de Windows et peut-être d'un raccourci pour le bureau PuTTY. PuTTY est en fait une suite d'utilitaires de communication sécurisés. Nous allons en utiliser deux, l'utilitaire PuTTY pour l'accès au terminal et l'utilitaire PuTTYgen pour la génération d'une clé SSH sécurisée.

  3. Ouvrez le menu de démarrage de Windows et accédez au dossier PuTTY. Sélectionnez l'utilitaire PuTTYgen.

  4. Vérifiez que les valeurs par défaut sont sélectionnées et que le type de clé doit être RSA défini sur 2048 bits. Cliquez sur le bouton Générer.

  5. Suivez les instructions et déplacez la souris autour de la zone grise vide pour générer des informations aléatoires. PuTTY utilise ces informations pour générer une clé SSH sécurisée et aléatoire.

  6. Dans l'écran ci-dessous, PuTTY a pris les informations de la souris et créé une clé. Nous devons faire plusieurs choses ici qui sont un peu différentes des autres méthodes clés de génération. Bien que nous ne puissions pas réellement utiliser le fichier pour une instance OCI, nous voulons toujours enregistrer la clé pour référence ultérieure. Cliquez sur le bouton Save public key.

    Remarque : PuTTY n'enregistre pas les clés dans un format compatible OpenSSH. Par conséquent, si vous téléchargez un fichier de clés publiques créé avec PuTTY vers un système Linux/Unix à l'aide de OpenSSH, la clé ne sera pas lue correctement. Cependant, les informations de clé elles-mêmes, lorsqu'elles sont copiées directement à partir de l'application PuTTYgen, fonctionnent correctement lorsqu'elles sont pastées dans des champs qui utilisent ensuite ces informations pour créer une clé compatible OpenSSH appropriée. Par exemple, lors de la création d'une instance sur OCI, vous pouvez coller la clé SSH à partir de PuTTY et elle fonctionnera correctement.

  7. Dans la boîte de dialogue Enregistrer la clé publique sous :, nommez la clé et ajoutez l'extension .pub au nom du fichier. Il sera également utile d'enregistrer le fichier dans le dossier .ssh commun sous votre structure nom utilisateur/dossier Windows. Dans cet exemple, les fichiers de clés seront accessibles dans le répertoire C:\Users\<username>\.ssh. Stockez les clés ici pour pouvoir y accéder facilement.

  8. Ensuite, vous devrez enregistrer la clé privée. Cliquez sur le bouton Save private key, répondez Yes à l'avertissement concernant l'enregistrement sans phrase de passe.

  9. Nommez la clé et vérifiez qu'elle est enregistrée avec une extension .ppk pour identifier le fichier en tant que fichier de clé privée. Ne partagez votre clé privée avec personne.

  10. Maintenant que vous avez enregistré les clés pour référence ultérieure, il vous suffit de copier les informations de clé dans la boîte de dialogue PuTTY.

  11. Sélectionnez le texte de la clé dans la boîte de dialogue de début à fin, puis cliquez avec le bouton droit de la souris et choisissez Copier. Vous pouvez ensuite coller la clé dans un Bloc-notes ou directement dans la boîte de dialogue de création d'instance de la console OCI.

  12. Voici un exemple de la boîte de dialogue Ajouter une clé SSH - Coller les clés SSH dans le formulaire de création d'instance OCI.

    La section relative à l'utilisation de PuTTY permet de générer une paire de clés SSH pour les versions de Windows antérieures à Windows 10.

    Suivez les instructions ci-dessous pour vous connecter à une instance cloud via SSH à l'aide du terminal PuTTY.

Connexion à une instance à l'aide de PuTTY

  1. Ouvrez l'utilitaire PuTTY à partir du menu de démarrage de Windows. Dans la boîte de dialogue, entrez l'adresse IP de votre instance de calcul OCI. Vous pouvez l'obtenir à partir de l'écran Console OCI > Compute > Instances > Détails de l'instance.

  2. Sous Catégorie, sélectionnez Connexion, puis choisissez le champ Données. Entrez le nom utilisateur de l'instance affectée. Les instances OCI prendront par défaut le nom utilisateur opc. Entrez opc.

  3. Sous Catégorie, accédez à Connexion - SSH et choisissez la catégorie Authentification. Cliquez sur le bouton Parcourir et localisez l'élément private key file que vous avez créé à l'étape précédente. Cliquez sur le bouton Ouvrir pour lancer la connexion SSH à l'instance cloud.

  4. Cliquez sur Oui pour ignorer l'alerte de sécurité concernant la clé non mise en cache.

  5. Connexion établie. Vous êtes désormais connecté en toute sécurité à une instance OCI Cloud.

    Vous pouvez désormais vous connecter en toute sécurité à l'aide de l'utilitaire de terminal PuTTY. Vous pouvez enregistrer les informations de connexion pour une utilisation ultérieure et configurer PuTTY avec vos propres paramètres personnalisés.

    Remarque : si vous avez déjà installé PuTTY, ne vous dérangez pas avec Git pour Windows. C'est votre choix à utiliser pour la génération de clés et l'accès aux terminaux.

    Pour plus d'informations sur l'utilisation de PuTTY

Option 5 : clés SSH pour Linux

  1. Ouvrez une fenêtre de terminal et saisissez la commande ssh-keygen. Il existe quelques options de ligne de commande pour l'utilitaire ssh-keygen. Toutefois, pour la création rapide et sale de clés en vue d'une utilisation en laboratoire, aucune option n'est nécessaire. Saisissez ssh-keygen --help dans votre fenêtre de terminal pour voir toutes les options possibles.Pour l'instant, il suffit d'exécuter la commande seule.

    ssh-keygen
    
  2. Vous devez exécuter cette commande à partir de votre répertoire personnel. Dans ce cas, en tant qu'ID utilisateur opc. La boîte de dialogue affiche par défaut un répertoire masqué, ~/.ssh. Si aucune clé n'a été créée, acceptez le nom de fichier par défaut id_rsa en appuyant sur Entrée. Appuyez deux fois sur la touche Entrée pour créer une clé sans phrase de passe. La meilleure pratique dans un environnement de production consiste à utiliser une phrase de passe sécurisée. Toutefois, nous n'avons pas besoin de nous déranger avec ces exercices pratiques.

    La boîte de dialogue indique que la paire de clés a été enregistrée dans le répertoire /home/username/.ssh et est maintenant prête à être utilisée.

  3. Accédez au répertoire .ssh, répertoriez et examinez vos clés.

    cd .ssh
    ls
    

    Notez dans la sortie qu'il existe deux fichiers, une clé privée : id_rsa et une clé publique : id_rsa.pub. Conservez la clé privée en sécurité et ne partagez son contenu avec personne. La clé publique est nécessaire pour diverses activités et peut être téléchargée vers certains systèmes, ainsi que copiée et collée pour faciliter les communications sécurisées dans le cloud.

  4. Utilisez la commande Linux cat pour répertorier le contenu de id_rsa.pub.

    cat id_rsa.pub
    

  5. Dans certains exercices, vous devrez télécharger ou copier (rcp) la clé publique vers une instance afin de faciliter les communications. N'oubliez donc pas où le fichier est conservé. D'autres exercices vous demanderont de coller les contenus de la clé dans différentes boîtes de dialogue afin de faciliter les connexions sécurisées. Utilisez la commande cat et copiez/collez les informations de la clé en commençant par le mot "ssh-rsa" et copiez tout jusqu'au dernier caractère de la ligne. Dans l'exemple ci-dessous, vous copiez "ssh-rsa ... " et exactement après "... -01". Copiez exactement le contenu de la clé, en capturant de l'espace après les caractères de la clé pouvant rendre la clé non valide.

    Vous avez créé une paire de clés SSH publique/privée et pouvez l'utiliser dans n'importe quel laboratoire Oracle OCI nécessitant une clé SSH.

    Si vous êtes intéressé, cliquez ici pour plus de détails sur SSH, un court tutoriel sur le lancement d'une connexion à partir d'une instance Linux avec les clés SSH que nous venons de créer.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres exercices dans docs.oracle.com/learn ou accédez à des contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur de formation Oracle.

Pour consulter la documentation produit, accédez à Oracle Help Center.