Comment récupérer la clé publique d'une clé privée SSH?

365

Une clé privée SSH générée par ssh-keygen contient une partie de clé publique. Comment puis-je récupérer cette clé publique à partir de la clé privée? J'ai perdu ma clé publique et j'ai besoin de mettre le contenu de cette clé publique dans le fichier authorized_keys du serveur et je ne veux pas créer de nouvelle paire de clés.

Autre formule: comment créer le fichier id_rsa.pub à partir d'un fichier id_rsa ?

    
posée Lekensteyn 18.07.2011 - 11:57
la source

2 réponses

561

J'ai trouvé la réponse sur l'erreur de serveur: Créez une clé publique SSH à partir de la clé privée?

L'option -y affiche la clé publique:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

En commentaire, le commentaire de la clé publique est perdu. J'ai eu un site qui nécessitait le commentaire (Launchpad?), Vous devez donc éditer ~/.ssh/id_rsa.pub et ajouter un commentaire à la première ligne avec un espace entre le commentaire et les données clés. Un exemple de clé publique est tronqué ci-dessous.

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu

Pour les clés qui ont été ajoutées à l'agent SSH (un programme qui s'exécute en arrière-plan et évite de ressaisir la phrase secrète du fichier de clés), vous pouvez utiliser la commande ssh-add -L pour répertorier les clés publiques. pour les clés ajoutées à l'agent (via ssh-add -l ). Ceci est utile lorsque la clé SSH est stockée sur une carte à puce (et que l’accès au fichier de clé privée est impossible).

    
réponse donnée Lekensteyn 18.07.2011 - 12:12
la source
12

Cette solution est spécialement conçue pour les utilisateurs de Windows vers SSH dans leurs machines distantes, y compris les images cloud sur Amazon AWS et GCE.

(Disclaimer)

J'ai récemment utilisé cette solution pour me connecter à distance aux nouvelles images de VM déployées sur GCE.

Outils utilisés:

  1. puttygen
  2. WinSCP

Étapes à suivre:

  1. Génère une paire de clés publique / privée en utilisant puttygen.
  2. Téléchargez une clé publique sur votre serveur dans le cloud ou sur un emplacement distant.

Description (comment faire):

  1. Générer une clé / paire ou utiliser une clé privée existante:

    Si vous avez une clé privée:

    Ouvrez puttygen, appuyez sur le bouton de chargement et sélectionnez votre fichier de clé privée (* .pem).

    Si non avez une clé privée:

    • Ouvrir puttygen,
    • Sélectionnez le type de clé souhaité SSH2 DSA (vous pouvez utiliser RSA ou DSA) dans la section Paramètres ... et il est important de laisser le champ de phrase secrète vide,
    • Appuyez sur générer et suivez les instructions pour générer une paire de clés (publique / privée).

  2. Créez un nouveau fichier 'authorized_keys' (avec Notepad):

    Copiez vos données de clé publique à partir de la section "Clé publique à coller dans le fichier OpenSSH authorized_keys" du générateur de clés PuTTY et collez les données de clé dans le fichier "authorized_keys".

    Assurez-vous qu'il n'y a qu'une seule ligne de texte dans ce fichier.

  3. Téléchargez la clé sur un serveur Linux:

    • Ouvrez WinSCP,
    • Sélectionnez le protocole de fichier SFTP et connectez-vous avec vos informations d'identification SSH.
    • En cas de succès, vous voyez la structure du répertoire de base sur votre ordinateur distant.

    Téléchargez le fichier authorized_keys dans le répertoire personnel de la machine distante.

  4. Définir les autorisations appropriées:

    Créez un répertoire .ssh (s'il n'existe pas)

    Copiez le fichier authorized_keys dans le répertoire .ssh (cela remplacera tout fichier authorized_keys existant; prenez-en note).

    Si le fichier existe, ajoutez simplement le contenu de ce fichier au fichier existant.

    Exécuter des commandes pour définir des autorisations:

    sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
    

Vous pourrez maintenant vous connecter à une machine distante sans saisir à chaque fois les informations d’identification.

Lectures complémentaires:

  1. Génération et téléchargement de clés SSH sous Windows

  2. Authentification sans mot de passe avec OpenSSH Clé, certificats .pem et .pub

réponse donnée devprashant 20.11.2015 - 07:18
la source

Lire d'autres questions sur les étiquettes