![gpg 解密文件无需输入密码](https://linux22.com/image/1205210/gpg%20%E8%A7%A3%E5%AF%86%E6%96%87%E4%BB%B6%E6%97%A0%E9%9C%80%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81.png)
我运行gpg -c file
。它要求输入密码(两次)并创建一个加密文件。到目前为止一切顺利。
当我运行gpg file.gpg
解密文件时,它会解密而不要求输入密码!不用说,这种“加密”完全没用。
gpg 加密,在 gnome 以及命令行中,工作了一段时间都很好,但在某一刻就中断了,我不知道我做了什么或发生了什么。
如何修复它?
答案1
该短语由 GPG 代理缓存。
要清除缓存,只需运行
gpg-connect-agent reloadagent /bye
加密并非毫无意义,因为缓存将在注销时被清除,并且显然不会随文件一起传输。Gpg 主要用于保护传输中的数据,而不是保护已加密数据的登录用户。
答案2
GPG 代理缓存密钥,请参阅 gpg(1) 手册页:
--symmetric
-c
Encrypt with a symmetric cipher using a passphrase. [..] gpg
caches the passphrase used for symmetric encryption so that a decrypt
operation may not require that the user needs to enter the passphrase.
The option --no-symkey-cache can be used to disable this feature.
因此,要禁用单次调用的缓存,请使用以下命令:
gpg -c --no-symkey-cache your-file.txt
要使此设置持久,请在中添加选项(不带--
)~/.gnupg/gpg.conf
:
no-symkey-cache