我正在尝试解密来自服务器的文件,我拥有该服务器所需的公钥。密匙环有密码保护,所以当我试图解密文件时,它会要求我输入密码短语。
当我们试图解密文件时,是否有一种方法可以通过传递密码来绕过该密码短语?
我正在使用gpg-agent
,其中密码短语缓存600秒默认时间,由于某种原因,我无法设置max-cache-ttl
(它不适合我,我不知道y),并且仅适用于该会话。
现在我想缓存我使用gpg-preset-passphrase
的密码短语。我在.gnupg/gpg-agent.conf中将其设置为gpg-preset-passphrase --preset hex
。我不知道我错过了什么。
有人能让我知道我在这错过了什么?
我无法绕过密码短语或pinentry屏幕,但我使用gpg-agent
选项,如default-cache-ttl
来设置缓存时间。因此,从第二次尝试开始,pinentry将检索缓存的密码短语并重置defaul-cache-ttl
上的计时器。
还有一个称为max-cache-ttl
的选项,即使在成功检索缓存的passphrase并重置default-cache-ttl之后,该选项也不会更改其计时器,并在设置超时后使缓存的passphrase过期。
例如:如果我将它们都设置为10小时(即36000sec),如果我在5小时后调用解密,默认将重置其计时器,现在我们有10个多小时。但是max将在最初的10小时后过期,因此将在10小时后删除缓存的密码短语。
我发现的另一个问题是gpg-agent的会话问题。也就是说,如果我打开一个新的会话并尝试解密,它不会发生,并且错误地指出这个会话不可用gpg-agent。我编写了一些shell脚本,并将其放在bashrc上,以便它在新会话启动时立即启动