J'utilise une clé PGP RSA de 4096 octets; puisque SSH utilise également la norme RSA, est-il possible d'utiliser la clé PGP comme clé SSH sans installer de logiciel supplémentaire sur le serveur (et le moins possible sur le client)?
Il existe plusieurs façons, qui peuvent ou non fonctionner:
gpg2
sur Debian est livré avec un gpgkey2ssh
outil, et gpg-agent
peut également agir comme un agent ssh, mais je n'ai pas pu trouver comment utiliser réellement la clé ssh pour l'authentification.SSH2 version 2.0.13 a introduit la prise en charge de l'authentification PGP.
Avec les 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. Il existe plusieurs méthodes possibles pour ce faire.
J'ai écrit un blog sur certaines 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 démarrer gpg-agent avec l'option --enable-ssh-support et ajouter la clé pour votre clé GPG (ou sous-clé) dans ~ / .gnupg / sshcontrol.
Lorsque vous utilisez la version GnuPG stable actuelle (2.0.x), vous pouvez utiliser monkeysphere pour ajouter votre clé à gpg-agent (encore une fois, après avoir démarré 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 ordinaire) à l'aide de monkeysphere. Le seul problème dans ce cas est que vous devrez rajouter votre clé lors de la reconnexion (dans Gnome ou XFCE). Pour résoudre ce problème, vous pouvez exporter manuellement votre clé et la convertir.
Ce document montre comment le faire sur le client SSH.com; Je ne suis pas sûr que cela fonctionne sur OpenSSH mais cela pourrait valoir le coup.