在“su - 不同用户”后使用 GPG 解密

在“su - 不同用户”后使用 GPG 解密

我有 cron 作业在“USER A”的 cron 中运行一个脚本,该脚本使用下面的 gpg 命令循环加密许多文件:

gpg --batch --cipher-algo AES256 --passphrase "PASSWORDISHERE" -c FILENAME

“USER A”具有提升的权限,无法通过 SSH 连接,并且仅在需要时由普通用户登录。因此,当我以我自己 (Bob) 的身份通过 SSH 登录时,我可以解密加密的文件。但是,当我“su -”切换到用户 A 并尝试解密时,出现以下错误:

gpg: AES256 encrypted data
can't connect to `/home/USERA/.gnupg/S.gpg-agent': No such file or directory
gpg-agent[27859]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key

我做了很多研究,发现了很多与 tty 和 pinentry 有关的东西。我发现的唯一解决方案是使用chmod o+rw $(tty),但这对我来说不是一个好的长期解决方案,更不用说我无论如何都不想使用这种方法。有人有更好的想法吗?

相关内容