GnuPG 默认将其套接字S.gpg-agent
置于~/.gnupg/S.gpg-agent
。我没有找到任何方法来配置此套接字的位置,似乎也没有的手册页gpg.conf
。
背景:我想符号链接~/.gnupg
到不支持套接字的 OpenAFS 挂载(并避免为每个文件创建一个符号链接~/.gnupg
(这是一种解决方法)而不仅仅是~/.gnupg
),即找到最优雅的解决方案。
答案1
自 GnuPG 版本 2.1.1 以来,存在一个解决方案:在 gpg-homedir 中放置一个简单的文本文件 S.gpg-agent,其内容如下:
%Assuan%
socket=/path/to/where/ever/you/want/S.gpg-agent
它取代了一些 evnvars,例如${HOME}
或${HOSTNAME}
使用 的子目录时要小心/tmp
,因为 gpg-agent 不会创建所需的目录。
进一步阅读: https://dev.gnupg.org/T1752
答案2
用户 ruhri 的解决方案在我们的 Debian 延伸系统上不起作用。至少,我们必须添加更多套接字“重定向”。以下是对我们有用的方法。
.gnupg/S.gpg-agent
按照 ruhri 的描述创建文件:%Assuan% socket=/srv/scratch/joeuser/S.gpg-agent
将这两行添加到末尾
.gnupg/gpg-agent.conf
(如果文件不存在则创建文件):extra-socket /srv/scratch/joeuser/S.gpg-agent.extra browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
.gnupg/S.gpg-agent.ssh
创建类似于该文件的文件.gnupg/S.gpg-agent
:%Assuan% socket=/srv/scratch/joeuser/S.gpg-agent.ssh
该解决方案来自此评论。