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-agent
como 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 ps
informa un gpg-agent --supervised
proceso 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-agent
que viene con openssh.
La documentación dice que ssh-add
deberí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-keygen
en gpg-agent
, y por favor alguien puede cortar y pegar una sesión de terminal que muestra cómo funciona este?