如何使用 gpg 使用对称密码从 STDIN 加密?

wca*_*art 1 encryption gnupg macos

我正在尝试STDIN使用gpg. 我正在使用以下内容:

echo 'plaintext' | gpg -c -o output.gpg
Run Code Online (Sandbox Code Playgroud)

但是,我看到以下结果:

gpg: problem with the agent: Inappropriate ioctl for device
gpg: error creating passphrase: Operation cancelled
gpg: symmetric encryption of '[stdin]' failed: Operation cancelled
Run Code Online (Sandbox Code Playgroud)

我将如何仅STDIN使用gpg对称密码进行加密?我在 MacOS 和GPG v2.2.13.

sun*_*sen 6

许多人建议安装pinentry-mac,一个不是由官方 GnuPG 团队维护的包。我会建议反对它。

更安全的替代方法是~/.profile按照官方文档中的建议附加以下几行(将它们附加到~/.bashrc对我不起作用)。

GPG_TTY=$(tty)
export GPG_TTY
Run Code Online (Sandbox Code Playgroud)

附加这些行后,关闭您的终端,问题应该得到解决。

另外,请确保使用 .gnupg 将 gnupg 升级到最新版本brew upgrade gnupg