Question

ssh-add -l affiche que j'ai 3 clés RSA ajoutés à mon agent SSH.

ssh-add -L affiche les clés publiques.

Comment puis-je obtenir les clés privées et, pour que je puisse les enregistrer dans un fichier? Ou est-ce par la conception que cela est impossible? Comment ça marche alors?

ssh-agent peut demander de faire des opérations en utilisant la clé privée? Comment puis-je demander à Crypter / Décrypter un numéro pour moi?

Il est OK que je dois écrire du code pour cela (le langage de programmation n'a pas d'importance), mais je préfère utiliser un outil existant ou une bibliothèque.

Était-ce utile?

La solution

Il est impossible d'obtenir la clé privée ou pour effectuer le chiffrement en utilisant le protocole entre ssh et ssh-agent, mais il est possible d'obtenir la clé privée par vider la mémoire de l'ssh-agent. Sous Linux, vous devez être root pour faire le vidage de la mémoire.

Je viens de trouver une très bonne explication sur le fonctionnement ssh-agent: http://www.unixwiz.net/techtips/ssh-agent-forwarding.html . Cela répond en partie certaines de mes questions.

  • L'un des aspects les plus intelligents de l'agent est de savoir comment il peut vérifier l'identité d'un utilisateur (ou plus précisément, la possession d'une clé privée) sans révéler la clé privée à personne.

  • L'un des avantages de sécurité de transfert d'agent est que la clé privée de l'utilisateur n'apparaît sur des systèmes distants ou sur le fil, même sous forme cryptée.

Ainsi, le protocole entre le client SSH et les proviedes ssh-agent aucun moyen pour sortir les clés privées SSH1 ou SSH2 d'un ssh-agent.

Cependant, en tant que root, vous pouvez obtenir une image mémoire de ssh-agent, et essayer d'extraire la clé privée à partir de là. https://blog.netspi.com/stealing-unencrypted- clés-agents-ssh-de-mémoire fait exactement cela, et il y a d'autres morceaux de logiciels mentionnés dans la section des commentaires de cette page. Cependant, le logiciel sur cette page n'a pas fonctionné pour moi sur Debian buster:. La décharge de la mémoire ne contenait aucune clés, même si ssh-add -l a affiché une clé RSA

Autres conseils

Dans mon cas, j'ai accidentellement supprimé le dossier .ssh mais mes clés sont chargées. Mais puisque je ne peux pas récupérer ceux de ssh-add donc je devais utiliser un logiciel de récupération de fichiers.

Vous ne probablement pas besoin. Très probablement, vous voulez juste une clé publique:

ssh-add -L > ~/.ssh/id_rsa.pub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top