在 Linux 终端中加密后清除 GPG 缓存/密码

Gab*_*lf1 5 linux security bash terminal gnupg

我对Linux终端中的GPG加密过程很恼火,我从终端用GPG加密文件,命令如下:

gpg --output file_out --symmetric --cipher-algo AES256 file_in

此处推荐使用此命令,因为 GPG 是一个可靠的加密包。

问题是输入密码并加密文件后,密码不会被删除。因此,任何有权访问 PC 的人都可以解密此文件,并且只有在我重新启动计算机后才会将其删除。

因此,如果我在之后立即输入解密命令: gpg --output file_in --decrypt file_out

它会给这个消息

gpg: AES256 encrypted data
gpg: encrypted with 1 passphrase
Run Code Online (Sandbox Code Playgroud)

它会自动解密。因此密码存储在某处,并且在我重新启动计算机之前不会被删除。

加密完成后有没有办法立即清除/擦除密码?

gen*_*too 6

只需重新加载gpg-agent(而不是杀死它)即可清除其密码缓存。它存在不同的重新加载方法gpg-agent:

  • echo RELOADAGENT | gpg-connect-agent
  • gpgconf --reload gpg-agent
  • pkill -SIGHUP gpg-agent


小智 4

密码由 保存gpg-agent。GPG 工具喜欢gpg自动启动它。

用于gpgconf --kill gpg-agent停止代理。