如何使 gpg 自动化?

如何使 gpg 自动化?

我在 Ubuntu 14.04 的 Bash shell 中使用 gpg。我试图在加密和解密大块文件时自动输入密码。我有一串很长的

gpg -c Filename.doc 

但每行都会提示我输入密码。我该如何解决这个问题(请用简单的术语)?

答案1

如果您查看 gpg 的手册页,您会看到有一些有用的命令行选项:

--passphrase-file file从文件中读取密码

--passphrase string用途string作为密码

您还需要添加--batch,这会阻止 gpg 使用交互式命令,并且--no-tty,确保终端不用于任何输出。

请记住,使用这些选项存在安全风险。如果密码在文件中,那么黑客可能会获取它。如果密码被提供给脚本,那么黑客就有办法拦截它。因此,请研究安全隐患,不要轻率使用这些选项。

答案2

虽然这是可能的通过将明文密码字符串放入文件中来实现自动加密,这将破坏使用 GPG 的整个目的。

为了保护数据不受泄露,而不是将其传输给第三方,请使用您的自己的公钥。这样就可以使用非交互式脚本自动加密,即:

gpg --batch --yes --trust-model always -r $YOURGPGPUBKEYEMAILADDRESS -e ./file.txt

请注意:我上传我的民众我想要保护数据的公共服务器的密钥,将私钥与它分开。因此,在公共服务器上没有密码,甚至没有私钥可以解密,存在被泄露的风险。

显然如果你不是使用您自己的公钥,小心地进行切换--trust-model always

相关内容