如何配置 GnuPG 的 S.gpg-agent 套接字位置?

如何配置 GnuPG 的 S.gpg-agent 套接字位置?

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 延伸系统上不起作用。至少,我们必须添加更多套接字“重定向”。以下是对我们有用的方法。

  1. .gnupg/S.gpg-agent按照 ruhri 的描述创建文件:

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent
    
  2. 将这两行添加到末尾.gnupg/gpg-agent.conf(如果文件不存在则创建文件):

    extra-socket /srv/scratch/joeuser/S.gpg-agent.extra
    browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
    
  3. .gnupg/S.gpg-agent.ssh创建类似于该文件的文件.gnupg/S.gpg-agent

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent.ssh
    

该解决方案来自此评论

相关内容