Bil*_*ill 5 rhel encryption gpg gpg-agent
场景如下,我们使用 GnuPG 加密 2 个 Web 服务器之间的数据。1 在 RHEL 上。GnuPG会通过cgi脚本访问进行加密和解密。所以我需要一个 apache 用户可以访问的密钥环。事实证明,这对我来说在 Red Hat 上很困难,但我在 Ubuntu 上很容易完成这个设置。这是我尝试过的,也许有人有更好/更简单的方法来实现这一点。
我成为了apache用户
su -s /bin/bash apache
Run Code Online (Sandbox Code Playgroud)
跑步时
gpg --gen-key
Run Code Online (Sandbox Code Playgroud)
它无法在 /var/www 处创建 .gnupg 目录,因此我创建了该目录并将所有者设置为 apache.apache。现在生成密钥时,我得到
can't connect to `/var/www/.gnupg/S.gpg-agent': No such file or directory
gpg-agent[26949]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
gpg: Key generation canceled.
Run Code Online (Sandbox Code Playgroud)
所以我在阅读了一些手册页(以及一些谷歌搜索)后创建了该文件
mknod -m 700 S.gpg-agent p
Run Code Online (Sandbox Code Playgroud)
现在我明白了
can't connect to `/var/www/.gnupg/S.gpg-agent': Connection refused
gpg-agent[26949]: command get_passphrase failed: Operation cancelled
gpg: cancelled by user
gpg: Key generation canceled.
Run Code Online (Sandbox Code Playgroud)
此后我一直无法到达任何地方,因为我正在进入我不太了解的领域。我假设这与 apache 并不是真正的用户有关,因为有 bash 配置文件等。那么我该从哪里开始呢?
小智 1
您是否尝试过创建新用户并使用 sudo 调用命令?如果担心这可能是一些权限问题,更简单的方法是将代理节点从 /var/www 删除到我们知道 gpg 用户可以访问的某个地方,也许是 /tmp 目录。您可以通过更改环境变量 GPG_AGENT_INFO 手动指定代理节点位置。
归档时间: |
|
查看次数: |
6423 次 |
最近记录: |