Remplacer une clé SSH perdu sur une instance Oracle Cloud

oracle cloud interface

C’est quoi la clé ssh ?

La clé SSH (Secure Shell) est un moyen de sécuriser les connexions à distance sur un réseau informatique. Elle est généralement utilisée pour se connecter à un serveur de manière sécurisée en utilisant un logiciel client SSH.

La clé SSH est un couple de clés publique et privée qui permet de s’authentifier de manière sécurisée sur un serveur sans avoir à entrer un mot de passe. La clé publique est enregistrée sur le serveur et la clé privée est stockée sur l’ordinateur de l’utilisateur.

Lorsqu’un utilisateur tente de se connecter au serveur, le logiciel client SSH utilise la clé privée pour chiffrer une réponse de défi envoyée par le serveur. Le serveur déchiffre cette réponse à l’aide de la clé publique et si la réponse est correcte, l’utilisateur est authentifié et peut accéder au serveur.

Comment générer clé ssh ?

Il existe plusieurs manières de générer une clé SSH. Voici comment le faire sous Linux et MacOS :

  1. Ouvrez un terminal et tapez la commande suivante :
    ssh-keygen -t rsa
  2. Appuyez sur Entrée pour utiliser l’emplacement par défaut pour enregistrer la clé. Si vous souhaitez enregistrer la clé dans un emplacement différent, entrez le chemin d’accès complet de ce dossier.
  3. Entrez un mot de passe pour protéger votre clé privée, ou laissez le champ vide si vous ne souhaitez pas en mettre un.
  4. Votre clé publique et votre clé privée ont maintenant été générées et enregistrées dans le dossier ~/.ssh. La clé publique se trouve dans le fichier id_rsa.pub et la clé privée se trouve dans le fichier id_rsa.
Générer clé ssh windows:
  1. Téléchargez et installez un programme client SSH tel que PuTTY.
  2. Ouvrez PuTTYgen.
  3. Cliquez sur le bouton « Générer » et suivez les instructions à l’écran pour créer votre clé publique et votre clé privée.
  4. Entrez un mot de passe pour protéger votre clé privée, ou laissez le champ vide si vous ne souhaitez pas en mettre un.
  5. Cliquez sur le bouton « Enregistrer la clé privée » et enregistrez votre clé privée dans un emplacement de votre choix sur votre ordinateur.
  6. Cliquez sur le bouton « Enregistrer la clé publique » et enregistrez votre clé publique dans un emplacement de votre choix sur votre ordinateur.

Ajouter la clé SSH à une instance Oracle Cloud

Ensuite, vous devrez copier la clé générée sur votre instance de serveur Web en cours d’exécution. Dirigez-vous vers vos instances en cours d’exécution sur le tableau de bord Oracle Cloud et sélectionnez l’instance dont vous avez besoin pour remplacer la clé, puis faites défiler jusqu’à ce que vous voyiez « Connexion à la console » sur le côté gauche. Cliquez dessus, puis sur « Lancer une connexion Cloud Shell ». Après une minute, vous devriez être prêt à vous connecter avec votre nom d’utilisateur et votre mot de passe (la valeur par défaut pour ubuntu est ‘ubuntu’ et un mot de passe vide). une fois que vous êtes en déplacement vers le dossier .ssh.

cd ~/.ssh

Modifiez ensuite le fichier authorized_keys

vi authorized_keys (or whatever editor you prefer)

Supprimez maintenant la clé publique que vous avez enregistrée dans ce fichier (dd in vi). Revenez au terminal et cd dans le répertoire où votre nouvelle paire de clés est enregistrée.

cat webserver.pub

Copiez le texte résultant (votre clé publique) et collez-le dans vi dans le shell Cloud de votre navigateur Web ouvert. Maintenant, enregistrez et quittez vi (:wq), puis déconnectez-vous du Cloud shell ( logout)

Enfin, revenez à votre terminal local et modifiez les autorisations pour la nouvelle paire de clés

sudo chmod 600 webserver.*

Ensuite, tout ce qui reste à faire est de vérifier que vous pouvez vous connecter à votre serveur Web via ssh avec votre nouvelle clé privée, si tout fonctionne, vous ne devriez pas avoir besoin d’entrer de nom d’utilisateur ou de mot de passe. Si vous souhaitez mettre à jour votre fichier de configuration ssh pour vous faciliter la vie.

Host my_webserver
    HostName 129.151.64.72
    User ubuntu
    IdentityFile ~/.ssh/keys/webserver.key

Fait!

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.