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

Kar*_*ter 3 configuration gnupg 16.04

GnuPG默认将它的套接字S.gpg-agent放在~/.gnupg/S.gpg-agent。我没有找到任何配置此套接字位置的方法,似乎也没有gpg.conf.

背景:我想符号链接~/.gnupg到不支持套接字的 OpenAFS 挂载(并避免为~/.gnupg(这是一种解决方法)中的每个文件创建符号链接,而不仅仅是~/.gnupg),即找到最优雅的解决方案 imo。

小智 6

从 GnuPG 版本 2.1.1 开始,存在一个解决方案:将一个简单的文本文件 S.gpg-agent 放在 gpg-homedir 中,内容如下:

%Assuan%
socket=/path/to/where/ever/you/want/S.gpg-agent
Run Code Online (Sandbox Code Playgroud)

它取代了一些 evnvars 像${HOME}${HOSTNAME}

使用 的子目录时要小心,/tmp因为 gpg-agent 不会创建所需的目录。

进一步阅读:https : //dev.gnupg.org/T1752


小智 5

用户 ruhri 的解决方案在我们的 Debian Stretch 系统上不适用于我们。至少,我们必须添加更多套接字“重定向”。这对我们有用。

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

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

    extra-socket /srv/scratch/joeuser/S.gpg-agent.extra
    browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建.gnupg/S.gpg-agent.ssh与以下文件类似的文件.gnupg/S.gpg-agent

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent.ssh
    
    Run Code Online (Sandbox Code Playgroud)

这个解决方案来自这个评论