Gpg
如何使 gpg-agent 的 default-cache-ttl 選項起作用?
我使用 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 使用者。