La página del manual de gpg-agent
estados:
The agent is usualy started on demand by gpg, gpgsm, gpgconf or
gpg-connect-agent. Thus there is no reason to start it manually.
In case you want to use the included Secure Shell Agent you may
start the agent using:
gpg-connect-agent /bye
The usual way to run the agent is from the ~/.xsession file:
eval $(gpg-agent --daemon)
Esto, por un lado, me dice que "no hay razón para iniciarlo manualmente" y, por otro lado, me dice cómo hacerlo manualmente. - ¿Entendí mal algo aquí?
En mi sistema parece que definitivamente tengo que iniciarlo manualmente. De lo contrario, por ejemplo, gpg-connect-agent
se queja: can't connect to the agent: IPC connect call failed
. - ¿Necesito configurar algo para gpg-connect-agent
iniciar el agente como se indica en la página del manual?
También la página de manual de gpg-connect-agent
dice:
--agent-program file
Specify the agent program to be started if none is running.
Sin embargo gpg-connect-agent --help
, no enumera esta opción y el comando también se queja si intento usarlo.
Parece que la página del manual describe un comando diferente, ¿o me perdí algo importante?
Mi sistema es un Arch Linux actual. (La misma situación en otra caja de Debian).
Detalles solicitados:
$ gpg --version
gpg (GnuPG) 2.0.22
libgcrypt 1.5.3
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ?, ?
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
$ gpg-connect-agent --version
gpg-connect-agent (GnuPG) 2.0.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
$ man gpg-connect-agent |grep -A1 agent-program
--agent-program file
Specify the agent program to be started if none is running.
$ gpg-connect-agent --agent-program foo
gpg-connect-agent: invalid option "--agent-program"
$ gpg-connect-agent /bye
gpg-connect-agent: can't connect to the agent: IPC connect call failed
fuente
Respuestas:
Esa es una mala redacción en la página del manual. Supongo que se entiende como: "No está obligado a iniciar gpg-agent manualmente". Esto tiene sentido porque GnuPG 2.x requiere
gpg-agent
mientras que es opcional en 1.xEntonces: "Por lo tanto, no hay razón para iniciarlo manualmente" "... para que las herramientas funcionen".
Pero: si desea la función de almacenamiento en caché,
gpg-agent
debe ejecutarse como un demonio y, por lo tanto, iniciarse antes que las herramientas, es decir, manualmente o desde~/.xsession
las herramientas, ya que buscan la variable de entornoGPG_AGENT_INFO
para encontrar la ejecución (correcta)gpg-agent
. Si las herramientas comienzan,gpg-agent
entonces segpg-agent
cierra cuando la herramienta sale.gpg-connect-agent /bye
puede ser un error real en la página del manual. AFAIK esto se usa para probar si segpg-agent
está ejecutando pero no para iniciarlo. Ni siquiera puede funcionar de esa manera, ya que obligatoriamente necesita el shell (más preciso: el proceso principal para las herramientas que se iniciarán) para la configuraciónGPG_AGENT_INFO
.fuente