Je veux générer une RSA
clé GPG
et l'utiliser dans la SSH
connexion. Est-ce seulement possible? Si c'est le cas, comment?
edit: voir la réponse de @wwerners, je ne l'ai pas essayée mais cela semble être la solution actuelle (à partir de 2018)
ssh
gnupg
public-key
private-key
destan
la source
la source
Je fais des recherches sur ce sujet et je peux vous donner quelques indices, mais je n'ai pas encore trouvé le moyen de le faire fonctionner.
Monkeysphhere
Monkeysphere semble un projet très intéressant, mais je n’ai pas pu le compiler sous Mac OS X sans encombrer mon petit espace disque disponible avec MacPorts.
Utiliser gpgkey2ssh
La première façon que je vous suggère d’essayer est de générer une entrée compatible allowed_keys à partir de votre clé (par exemple, BFB2E5E3) avec
Ici, je l'ai ajouté à mon hôte local car j'ai utilisé un serveur ssh à des fins de test, mais vous devez bien sûr l'ajouter à l'hôte cible
~/.ssh/authorized_keys
. Ensuite, vous devez dire à SSH d'utiliser la partie privée de cette clé lors de l'authentification, mais exporter une version blindée ASCII de la paire de clés ne fonctionne pas:Utiliser gpg-agent
gpg-agent
a l'option--enable-ssh-support
qui lui permet de l'utiliser comme remplacement immédiat du bien connussh-agent
. J'ai lu que certaines personnes essayaient d'ajouter viassh-add
leur clé GPG après avoir lancé degpg-agent
cette manière:Mais je ne pense pas que cela fonctionnera jamais. La page de manuel de gpg-agent dit:
Il semble donc que cela
gpg-agent
devrait être utilisé comme mesure supplémentaire pour protéger vos clés SSH avec un cryptage GPG.Conversion d'une clé GPG en OpenSSH
Jérôme Pouiller écrit sur son blog que l'utilitaire Gpgsm peut exporter des clés et des certificats dans PCSC12; ils peuvent ensuite être utilisés par OpenSSH:
Mais je n'ai pas trouvé le moyen de faire
gpgsm
accepter mes paires de clés gpg.Autres choses que vous pouvez essayer
SSH dispose d'une
-I
option permettant de spécifier la bibliothèque partagée PKCS # 11ssh
à utiliser pour communiquer avec un jeton PKCS # 11 fournissant la clé RSA privée de l'utilisateur.ssh-keygen
pouvez utiliser la clé publique ou privée RFC4716 / SSH2, les clés publiques PEM PKCS8 et les clés publiques PEM pour générer une clé privée (ou publique) compatible OpenSSH à l’aide des options-i
et-m
.Je ne parviens toujours pas à trouver le moyen de tout mettre en place.
la source
gpgkey2ssh
a été remplacé par à--export-ssh-key
partir de la version 2.1.11 (2016-01-26). Il m'a fallu un certain temps pour m'en rendre compte. L'utilisation estgpg --export-ssh-key BFB2E5E3
.Non, ils ne sont pas interchangeables. Oui, il est possible d'utiliser des clés GPG pour l'authentification. Le package Monkeysphere contient des outils permettant d'extraire la paire de clés RSA brute de votre certificat GPG.
Votre certificat GPG nécessite une sous-clé avec l'indicateur de capacité "authentification". Pour créer une telle sous-clé, exécutez une fois:
Maintenant, ajoutez vos sous - clés d’authentification à ssh-agent :
Un peu pertinent: ce fil de discussion gnupg-users .
la source
Grâce aux informations des réponses à cette question et à l'aide de la liste de diffusion gnupg-users, j'ai pu comprendre comment utiliser ma clé GPG pour l'authentification SSH. Comme déjà mentionné par Claudio Floreani dans sa réponse, il existe plusieurs méthodes possibles pour le faire.
J'ai écrit un article de blog sur quelques solutions possibles: http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key
Pour résumer: Soit vous utilisez GnuPG 2.1, qui est actuellement en version bêta. Lorsque vous utilisez cette version, vous pouvez simplement lancer gpg-agent avec l'option --enable-ssh-support et ajouter la clé d'accès pour votre clé GPG (ou sous-clé) dans ~ / .gnupg / sshcontrol.
Lorsque vous utilisez la version actuelle stable de GnuPG (2.0.x), vous pouvez utiliser monkeysphere pour ajouter votre clé à gpg-agent (à nouveau, après avoir lancé gpg-agent avec l'option --enable-ssh-support).
Il est également possible d'utiliser le trousseau de clés GNOME (ou même l'agent ssh habituel) à l'aide de monkeysphere. Le seul problème dans ce cas est que vous devrez rajouter votre clé pour vous reconnecter (dans Gnome ou XFCE). Pour résoudre ce problème, vous pouvez exporter manuellement votre clé et la convertir.
la source