← retour aux snippets

gpg-agent: utiliser comme agent SSH

Activer enable-ssh-support et pointer SSH_AUTH_SOCK vers le socket gpg-agent.

bash security #gpg-agent#ssh#yubikey

objectif

Remplacer ssh-agent par gpg-agent pour utiliser des clés stockées dans une carte/YubiKey.

code minimal

mkdir -p ~/.gnupg
grep -q '^enable-ssh-support' ~/.gnupg/gpg-agent.conf 2>/dev/null || echo 'enable-ssh-support' >> ~/.gnupg/gpg-agent.conf
gpgconf --launch gpg-agent

# exporter le socket SSH du gpg-agent
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"

utilisation

# lister les clés SSH exposées
ssh-add -L

# rebind du TTY pour PIN prompt
gpg-connect-agent updatestartuptty /bye

variante(s) utile(s)

# démarrer automatiquement (shell init)
echo 'export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"' >> ~/.bashrc

notes

  • pinentry doit être installé pour les prompts.
  • désactivez le ssh-agent de votre DE pour éviter les conflits.