Estoy usando openssh7.5p1 y gnupg 2.1.21 en arch linux (estas son las versiones predeterminadas que vienen con arch). Me gustaría usarlo gpg-agentcomo agente ssh. Puse lo siguiente en mi ~/.gnupg/gpg-agent.conf:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch inicia automáticamente un agente gpg desde systemd, así que configuré
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Cuando ejecuto ssh-add -l, no informa identidades e psinforma un gpg-agent --supervisedproceso como era de esperar.
Desafortunadamente, cuando ejecuto ssh-add, no importa el tipo de clave, no funciona. Aquí hay un ejemplo de cómo probé dsa:
$ ssh-keygen -f testkey -t dsa -N ''
Generating public/private dsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
$ ssh-add testkey
Could not add identity "testkey": agent refused operation
Todas las demás funciones de GPG funcionan correctamente (cifrado / descifrado / firma). Además, las claves que genero funcionan bien si las uso directamente con ssh, y funcionan correctamente si ejecuto el ssh-agentque viene con openssh.
La documentación dice que ssh-adddebería agregar claves ~/.gnupg/sshcontrol, pero obviamente no está sucediendo nada.
Mi pregunta: ¿Cuál es la forma más fácil de cargar una clave generada por el de OpenSSH ssh-keygenen gpg-agent, y por favor alguien puede cortar y pegar una sesión de terminal que muestra cómo funciona este?