Я пытаюсь кэшировать парольные фразы для использования на автоматической машине. Поскольку это создает некоторый риск, я бы предпочел выбрать, какие парольные фразы кэшируются, и избегать установки обоих значений, равно как default-cache-ttl
и max-cache-ttl
слишком высоких, а также избегать необходимости gpg-agent
периодически очищать весь кэш - поэтому я ищу решение с помощью gpg-preset-passphrase
. Некоторая информация, найденная мной при устранении неполадок, относится к более старым версиям GnuPG, поэтому я не уверен, достаточно ли я учел все различия.
Во-первых, как это предписано man 1 gpg-agent
, я имею export GPG_TTY=$(tty)
в моем .bashrc.
Теперь предположим, что я запускаю eval $(gpg-agent --daemon --allow-preset-passphrase --default-cache-ttl 1 --max-cache-ttl 31536000)
gpg-agent, отметив, что gpg-preset-passphrase по-прежнему учитывает --max-cache-ttl (по умолчанию 2 часа).
Затем я получаю ключ $KEYGRIP
от нужного секретного подраздела с помощью gpg --with-keygrip -K
.
С этим я пытаюсь /path/to/gpg-preset-passphrase -c $KEYGRIP
. По возвращении, это печатает:
gpg-preset-passphrase: caching passphrase failed: Not implemented
Попытка снова добавить --verbose --debug 6 --log-file /path/to/gpg-agent.log
к gpg-agent
, мой журнал добавляется с
gpg-agent[4206] listening on socket /run/user/1000/gnupg/S.gpg-agent
gpg-agent[4207] gpg-agent (GnuPG) 2.1.15 started
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 started
gpg-agent[4207] command PRESET_PASSPHRASE failed: Not implemented
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 terminated
Я не уверен, что делать дальше, кроме углубления в источник, поэтому мне интересно, сможет ли кто-нибудь сначала исправить мои шаги.
gpg-preset-passphrase
, мое первое конкретное руководство по этому вопросу - из этого списка рассылки lists.gnupg.org/pipermail/gnupg-users/2010-January/037876.htmlОтветы:
У меня также есть эта проблема, и я решил, добавив конфигурацию в gpg-agent, вы можете найти ее здесь:
/programming/49491679/how-to-enter-gnupg-agent-key-passhprase-from-cli
источник
Звучит так, как будто вы хотите отправить пароль на стандартный
gpg-preset-passphrase
ввод, не повторяя его (чтобы не отображать его в списке процессов):Если вы заботитесь о переносимости за пределами Bash:
Этот ответ о синтаксисе «Здесь документы» (EOF) был неоценим для меня: https://unix.stackexchange.com/a/88492
Вы также нуждаетесь
allow-preset-passphrase
в своем,~/.gnupg/gpg-agent.conf
как упомянуто Холмс.Если вы хотите сделать это с помощью симметричного шифрования (так как я уже потерял здравый смысл в этом, возможно, вам не придется), посмотрите мой ответ здесь, чтобы найти правильную keygrip / cacheid, чтобы использовать для предварительной установки ключевой фразы в gpg- агент: https://superuser.com/a/1485486/1093343
источник