J'ai un Yubikey 4 et je veux utiliser mes keys GPG stockées sur ceci pour s'authentifier sur les servers SSH.
Je veux utiliser GitHub pour commencer. J'ai déjà ajouté ma key d'authentification GPG à GitHub.
Mon problème est que quand je ssh, mon agent n'utilise pas cette key. J'ai vérifié en essayant de se connecter à mon VPS avec ssh -v
mais il saute ma key GPG. My Yubikey est branché et gpg2 --card-status
affiche tous les détails. Je suis capable de signer et déchiffrer très bien ainsi que d'utiliser les autres fonctionnalités du Yubikey.
La sortie ssh
debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /home/wilhelm/.ssh/id_rsa debug1: Trying private key: /home/wilhelm/.ssh/id_dsa debug1: Trying private key: /home/wilhelm/.ssh/id_ecdsa debug1: Trying private key: /home/wilhelm/.ssh/id_ed25519 debug1: No more authentication methods to try. Permission denied (publickey).
J'ai désactivé le gestionnaire de mot de passe de gnome.
J'ai regardé login SSH et Git à gpg-agent et a suivi la suggestion, mais cela ne semble pas fonctionner.
╰─ ssh-add -l Could not open a connection to your authentication agent. ╰─ ps aux | grep gpg-agent wilhelm 26079 0.0 0.0 20268 980 ? Ss 20:57 0:00 gpg-agent --daemon --enable-ssh-support --sh wilhelm 31559 0.0 0.0 12724 2184 pts/1 S+ 22:49 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg-agent
ssh
ne peut pas ouvrir la connection à votre gpg-agent
si vous ne lui donnez pas le moyen de le faire.
Lorsque vous démarrez votre gpg-agent
avec l'option --enable-ssh-support
, il affiche les variables environnementales qui doivent être disponibles dans le shell depuis lequel vous utiliserez votre ssh
. Il y a peu de possibilités pour les get:
Arrêtez votre gpg-agent
et recommencez comme dans le shell où vous utilisez votre ssh
(cela devrait être le moyen le plus simple de le tester):
eval $(gpg-agent --daemon --enable-ssh-support --sh)
Trouvez l'location du socket d'authentification et configurez la variable d'environnement SSH_AUTH_SOCK
à la main
Par la suite, lorsque vous saurez que cela fonctionne, vous devriez configurer le démarrage de l'agent en fonction de la page de manuel de gpg-agent(1)
, donc probablement dans ~/.xsession
pour le laisser démarrer automatiquement.