使 GPG 代理永久存储密码

Jam*_*lor 5 gpg gpg-agent

我最近在 Mac 上设置了 GPG:

brew install gpg;
brew install gpg-agent;
Run Code Online (Sandbox Code Playgroud)

并生成带有密码的密钥对。

我说use-agent~/.gnupg/gpg.confallow-preset-passphrase~/.gnupg/gpg-agent.conf

我成功地解密了一个文件:

gpg --use-agent --output example.txt --decrypt example.gpg
Run Code Online (Sandbox Code Playgroud)

这提示我输入我的私钥密码。问题是,在解密后续文件时,gpg-agent再次提示我输入此密码。

目前,我的密码是一个非常长的字符串,几乎不可能每次都输入。我想gpg表现得像ssh-agent密码安全地存储并永远记住(即使在会话之间)。

我知道如果我的笔记本电脑被包含在内,这可能会降低安全性,但这种不便可能会阻止我gpg一起使用。

我不确定:

default-cache-ttl 31536000
max-cache-ttl 31536000
Run Code Online (Sandbox Code Playgroud)

是我正在寻找在重新启动之间存储的选项 遗憾的是没有man条目gpg-agent.

如何永远制作gpg/gpg-agent记住我的私钥密码?

Ant*_*hon 1

您可能没有$GPG_AGENT_INFO设置环境变量。

作为临时措施,您可以执行的操作是运行gpg-agent bash(或您选择的 shell)并重试解密。

从长远来看,这可能只需先注销然后重新登录系统,然后$GPG_AGENT_INFO再次检查回显即可解决。如果是的话,您很有可能不再需要每次都重新输入密码。

大多数 Linux 发行版都有相应的钩子,我希望 OSX 能够像用户友好的那样,满足要求,当然是gpg/gpg-agent在开始会话之前可用(安装)。