Gpg

如何使 gpg-agent 的 default-cache-ttl 選項起作用?

  • February 20, 2017

我使用 pass 作為密碼管理器。我希望我的密碼在一定時間內被記憶體,以避免每次我想剪掉我的一個密碼時都重新輸入我的密碼。Pass 正在使用gpg-agent來解密密碼。

根據手冊頁先前回答的問題,解決方案是在以下選項中設置~/.gnupg/gpg-agent.conf

default-cache-ttl 3600
max-cache-ttl 86400

不幸的是,它在我的機器上不起作用,每次我要求輸入密碼時都會要求我輸入密碼。

gpg-agent.conf我已經通過添加和刪除該 no-grab選項來驗證我的內容已被讀取。這工作正常。

我在帶有 i3wm 桌面的 Debian 機器上。所以我不使用 gnome-keyring 管理器。

我通過將 gnupg 從 1.4 升級到 2.1 解決了這個問題,這似乎大大簡化了配置。

但是,它產生了在 gpg 和 gpg2 之間遷移密鑰的錯誤。

當我從 pass 中要求密碼時,gpg2 生成了以下錯誤消息:

gpg: decryption failed: No secret key

解決方案來自上一期

gpg --export [ID] > public.key
gpg --export-secret-keys [ID] > private.key
gpg2 --import public.key
gpg2 --import private.key
rm public.key private.key

$$ ID $$是我的鑰匙的​​ id。它將密鑰從 gpg 正確導入到 gpg2。 最後我重新啟動,現在我的密碼被記憶體了,這讓我成為一個非常快樂的 pass 使用者。

引用自:https://unix.stackexchange.com/questions/344422