gpg запуск gpg-агента по требованию?

13

Справочная страница gpg-agentсостояний:

   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)

Это, с одной стороны, говорит мне, что «нет причины запускать его вручную», а с другой стороны, говорит мне, как запустить его вручную. - Я что-то здесь неправильно понял?

В моей системе кажется, что я определенно должен запустить его вручную. В противном случае, например , gpg-connect-agentжалуется: can't connect to the agent: IPC connect call failed. - Нужно ли что-то настраивать, чтобы gpg-connect-agentзапустить агент, как указано на странице руководства?


Также на странице руководства gpg-connect-agentговорится:

   --agent-program file
          Specify the agent program to be started if none is running.

Однако gpg-connect-agent --helpне перечисляет эту опцию, и команда также жалуется, если я пытаюсь использовать ее.

Похоже, что страница руководства описывает другую команду, или я что-то упустил?


Моя система - это текущий Arch Linux. (Та же ситуация с другой коробкой Debian.)

Запрашиваемая информация:

$ 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
Михась
источник
Какую версию gpg-agent и gpg-connect-agent вы используете?
Дженни Д
1
Также обратите внимание на то, что существуют другие демоны gpg keyring. Например, у gnome есть набор ключей gnome, который обрабатывает пароли gpg, ssh и общие. Часто с ними гораздо удобнее работать, поскольку вы можете иметь один пароль, чтобы разблокировать их все, и они могут автоматически разблокироваться при входе в систему.
Патрик
Я добавил конкретные детали выше. Мне известно о демоне gnome-keyring-daemon, однако я не запускаю gnome на этом поле. - Вопрос в настоящее время заключается в том, способен ли gpg запускать своего собственного демона по требованию или нет.
Михас

Ответы:

5

Это плохая формулировка на странице руководства. Я предполагаю, что это означает: «Вы не обязаны запускать gpg-agent вручную». Это имеет смысл, потому что GnuPG 2.x требует, в gpg-agentто время как это необязательно в 1.x

Итак: «Таким образом, нет причин запускать его вручную» «... чтобы запустить инструменты».

Но: если вам нужна функция кэширования, то она gpg-agentдолжна запускаться как демон и, таким образом, запускаться перед инструментами, т. Е. Вручную или из- ~/.xsessionза того, что инструменты ищут переменную среды GPG_AGENT_INFO, чтобы найти (справа) работающий gpg-agent. Если инструмент запускается, gpg-agentто gpg-agentвыходит при выходе из инструмента.

gpg-connect-agent /byeможет быть настоящей ошибкой в ​​справочной странице. AFAIK это используется для проверки, gpg-agentработает ли он, но не для его запуска. Это даже не может работать таким образом, поскольку для настройки вам обязательно нужна оболочка (точнее: родительский процесс для запускаемых инструментов) GPG_AGENT_INFO.

Хауке Лагинг
источник