在 Linux 终端中加密后清除 GPG Cache/Password
Clear GPG Cache/Password after Encryption in Linux Terminal
我对 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
它会自动解密。所以密码存储在某个地方,在我重新启动计算机之前它不会被删除。
有没有办法在加密完成后立即clear/wipe密码?
密码由 gpg-agent
保存。 gpg
等 GPG 工具会自动启动它。
使用gpgconf --kill gpg-agent
停止代理。
只需重新加载 gpg-agent
(而不是杀死它)即可清除其密码缓存。它存在不同的方法来重新加载 gpg-agent
:
echo RELOADAGENT | gpg-connect-agent
gpgconf --reload gpg-agent
pkill -SIGHUP gpg-agent
我对 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
它会自动解密。所以密码存储在某个地方,在我重新启动计算机之前它不会被删除。
有没有办法在加密完成后立即clear/wipe密码?
密码由 gpg-agent
保存。 gpg
等 GPG 工具会自动启动它。
使用gpgconf --kill gpg-agent
停止代理。
只需重新加载 gpg-agent
(而不是杀死它)即可清除其密码缓存。它存在不同的方法来重新加载 gpg-agent
:
echo RELOADAGENT | gpg-connect-agent
gpgconf --reload gpg-agent
pkill -SIGHUP gpg-agent