Die Manpage von gpg-agent
Staaten:
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)
Dies sagt mir zum einen, dass "es keinen Grund gibt, es manuell zu starten" und zum anderen, wie ich es manuell starten soll. - Habe ich hier etwas falsch verstanden?
Auf meinem System muss ich es definitiv manuell starten. Ansonsten zum Beispiel gpg-connect-agent
beklagt: can't connect to the agent: IPC connect call failed
. - Muss ich etwas konfigurieren, damit gpg-connect-agent
der Agent wie in der Manpage angegeben gestartet wird?
Auch die Manpage von gpg-connect-agent
sagt:
--agent-program file
Specify the agent program to be started if none is running.
Diese gpg-connect-agent --help
Option wird jedoch nicht aufgeführt, und der Befehl beschwert sich auch, wenn ich versuche, sie zu verwenden.
Scheint, als würde die Manpage einen anderen Befehl beschreiben, oder habe ich etwas Wichtiges übersehen?
Mein System ist ein aktuelles Arch Linux. (Gleiche Situation auf einer anderen Debian-Box.)
Gewünschte Details:
$ 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
quelle
Antworten:
Das ist eine schlechte Formulierung in der Manpage. Ich denke, es ist gemeint als: "Sie sind nicht gezwungen, gpg-agent manuell zu starten." Dies ist sinnvoll, da GnuPG 2.x dies erfordert,
gpg-agent
während es in 1.x optional istAlso: "Es gibt also keinen Grund, es manuell zu starten" "... um die Werkzeuge zum Laufen zu bringen".
Aber: Wenn Sie das Caching-Feature wollen,
gpg-agent
müssen Sie es als Daemon ausführen und damit vor den Tools starten, dh manuell oder von~/.xsession
da aus, weil die Tools nach der Umgebungsvariablen suchenGPG_AGENT_INFO
, um die (richtige) Ausführung zu findengpg-agent
. Wenn die Werkzeuge starten,gpg-agent
wird sie beimgpg-agent
Beenden des Werkzeugs beendet.gpg-connect-agent /bye
kann ein echter Fehler in der Manpage sein. AFAIK wird verwendet, um zu testen, obgpg-agent
läuft, aber nicht, um es zu starten. Es kann nicht einmal so funktionieren, da Sie die Shell (genauer: den übergeordneten Prozess für die zu startenden Tools) zum Festlegen zwingend benötigenGPG_AGENT_INFO
.quelle