Une clé privée SSH telle que 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 je dois mettre le contenu de cette clé publique dans le authorized_keys
fichier des serveurs . Je ne souhaite pas créer de nouvelle paire de clés.
Autrement dit: comment créer le id_rsa.pub
fichier à partir d'un id_rsa
fichier?
command-line
ssh
Lekensteyn
la source
la source
pbcopy > ~/.ssh/id_rsa.pub
Oops.Réponses:
J'ai trouvé la réponse sur Server Fault: créer une clé publique SSH à partir de la clé privée?
L'option
-y
affiche la clé publique:En remarque, 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.Pour les clés 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
ssh-add -L
commande pour répertorier les clés publiques des clés ajoutées. l'agent (viassh-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 n'est pas possible).la source
~/.ssh/id_rsa
doit être limité à votre nom d'utilisateur. utilisez$ sudo chmod 600 ~/.ssh/id_rsa
et entrez vos identifiants racine pour le restreindre, vous pouvez alors sortir le fichier de clé publique. Sinon, vous recevrez un avertissement illimité sur le fichier de clé privée.sudo
, vous êtes déjà censé posséder la clé privée. Sinon, vous ne pouvez pas le lire en premier lieu.400
est recommandé depuis pas besoin d'écrire pour taper le fichier de clé privée. La commande corrigée devrait être$ chmod 400 ~/.ssh/id_rsa
id_rsa
fichier) n'a pas de commentaire, mais le commentaire dans le fichier de clé publique (id_rsa.pub
) est perdu.Cette solution est spécialement conçue pour les utilisateurs utilisant Windows to SSH sur leurs machines distantes, y compris les images en nuage sur Amazon AWS et GCE.
(Avertissement)
J'ai récemment utilisé cette solution pour vous connecter à distance à de nouvelles images de VM déployées sur GCE.
Les outils utilisés:
Étapes à suivre:
Description (comment le faire):
Générez une clé / paire ou utilisez 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 vous n'avez pas de clé privée:
Créez un nouveau fichier 'authorised_keys' (avec Notepad):
Copiez vos données de clé publique à partir de la section "Clé publique pour le collage dans le fichier OpenSSH allowed_keys" du générateur de clé PuTTY, puis collez les données de clé dans le fichier "authorised_keys".
Assurez-vous qu'il n'y a qu'une seule ligne de texte dans ce fichier.
Téléchargez la clé sur un serveur Linux:
Téléchargez le fichier allowed_keys dans le répertoire de base de la machine distante.
Définissez les autorisations appropriées:
Faire un
.ssh
répertoire (s'il n'existe pas)Copiez le
authorized_keys
fichier dans le répertoire .ssh (cela remplacera toutauthorized_keys
fichier existant ; prenez-en note).Si le fichier existe, ajoutez simplement le contenu de ce fichier au fichier existant.
Exécutez les commandes pour définir les autorisations:
Maintenant, vous pourrez ssh sur une machine distante sans entrer les informations d'identification à chaque fois.
Lectures complémentaires:
Génération et téléchargement de clés SSH sous Windows
Authentification sans mot de passe avec OpenSSH Key, certificats .pem et .pub
la source