ssh-agent
es muy fácil de usar, lo inicio y agrego claves usando ssh-add keyfile
. Después de matar el proceso ssh-agent
, todos los archivos se han ido.
¿Cómo puedo obtener el mismo comportamiento con gpg-agent
? El programa más cercano que encontré fue gpg-preset-passphrase
. Pero mirando la página del manual degpg-agent
, parece que se crea un directorio para almacenar claves privadas.
Podría estar equivocado, así que me pregunto cómo puedo configurar gpg-agent
de tal manera que no se creen archivos / directorios. Si no es posible, otras sugerencias para hacer un gpg-agent
trabajo como ssh-agent
+ también ssh-add
serían bienvenidas. No estoy buscando soluciones GUI como Seahorse.
gpg-connect-agent
?gpg-preset-passphrase
. Corrígpg-connect-agent
, obtuve un intérprete de comandos y ejecutésetkey IDOFMYPRIVATEKEYHERE
seguido de unapreset_passphrase
identificación que resultó en "ERR 67108924 <GPG-agent> no compatible - no --allow-preset-passphrase"Respuestas:
Decidí echarle un vistazo a esto nuevamente y descubrí cómo funciona. GPG utiliza la terminología "caché" para almacenar contraseñas. Se pueden imponer dos restricciones al tiempo máximo de almacenamiento:
Además, existen dos variaciones para ambas restricciones, una para las claves GPG y otra para las claves SSH (si el soporte estaba habilitado).
Las entradas relevantes de la página del manual de
gpg-agent(1)
:Las frases de contraseña siempre se almacenan en caché (en la memoria, ¡no en el disco! Verificadas con un repositorio git de
$HOME
), por lo que no hay una necesidad explícita de hacerlossh-add
. Por ejemplo, firmar datos ficticios ya activa el caché:Para realizar cambios permanentes en la configuración de caché de gpg-agent, edite ~ / .gnupg / gpg-agent.conf` y agregue algo como:
Intenté habilitar el soporte del agente SSH especificando
enable-ssh-support
, pero esto hace que el agente gpg le pida otra clave para cifrar la clave, y luego almacena su clave privada~/.gnupg/private-keys.d/
. No va por mí, entonces me apegaré a un enfoque dual ssh-agent / gpg-agent.Algunos consejos extra:
max-cache-ttl-ssh
se puede especificar al agregar la clave, por ejemplo:ssh-add -t 600 ~/.ssh/id_rsa
Para evitar almacenar la frase de contraseña GPG en el agente, desactive el agente. En las versiones más recientes de GPG, la opción
--no-use-agent
se ignora, pero puede evitar que se use el agente borrando la variable de entorno relacionada. Algunas formas de hacerlo:fuente
gpg-agent
activo? (Verifique la lista de procesos, por ejemplo conps u -C gpg-agent
). ¿El tiempo de espera de caché está configurado correctamente? Si lo usa para firmar (en oposición a la autenticación (SSH)), ¿estáignore-cache-for-signing
deshabilitada la opción?