当将gpg与gpg-agent一起使用时,将在我的~/.gnupg目录中创建以下套接字:
S.gpg-agent
S.gpg-agent.browser
S.gpg-agent.extra
S.gpg-agent.ssh我想,S.gpg-agent是标准的gpg-agent套接字。但其他的还有什么用呢?
我不会在ssh中使用gpg,也不会在浏览器中使用gpg。
在哪里配置的,这些都是自动创建的?
我能让他们停用吗?
我只需要标准的S.gpg-agent
上使用gnupg 2.2.12
发布于 2020-08-21 18:09:58
gpg-agent可以具有多个个性,并提供不同的服务。
例如,您可以停止在您的机器上运行ssh-agent,并使用gpg-agent作为替换.只要您使用正确的套接字,S.gpg-agent.ssh,因为它必须实现适当的协议ssh期待讨论。为什么会这么有用?例如,直到最近,ssh还不能使用FIDO2 2/U2F中存储的密钥(就像Yubikey一样),这只是在不久之前发布的8.2中添加的,这使得事情变得非常简单,就像在https://blog.snapdragon.cc/2020/02/23/direct-fido2-u2f-support-in-openssh-8-2-on-macos/中解释的那样。
在此之前,将使用gpg-agent,因为gpg支持像智能卡一样处理的U2F。这是关于如何做到这一点的规范文档之一:https://florin.myip.org/blog/easy-multifactor-authentication-ssh-using-yubikey-neo-tokens
现在回到gpg-agent,它的完整手册在https://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002 dAGENT.html#调用-GPG_002 002dAGENT
您可以在https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html#Agent-Options找到所有可以放在配置文件中的选项,通常是~/.gnupg/gpg-agent.conf
例如,我们可以学到:
.extra 1,我们可以学习如何禁用它,以及它用于什么:-额外套接字名称默认情况下创建,您可以使用此选项更改套接字的名称。若要禁用套接字的创建,请使用“none”或“/dev/null”作为名称。还可以侦听给定套接字上的本地gpg代理连接。此额外套接字的预期用途是在本地计算机上设置Unix域套接字,将其从远程计算机转发到此套接字。然后,运行在远程计算机上的gpg可以连接到本地gpg代理并使用其私钥。这样可以在远程计算机上解密或签名数据,而无需向远程计算机公开私钥。
.ssh 1:
--enable-ssh-support--enable-putty-support始终启用OpenSSH代理协议,但gpg代理只在给定此标志的情况下才会设置SSH_AUTH_SOCK变量。在这种操作模式下,代理不仅实现了gpg-代理协议,还实现了OpenSSH (通过单独的套接字)使用的代理协议。因此,应该可以使用gpg代理作为众所周知的ssh代理的插入替代。
gpg-agent主要用作守护进程,用于请求和缓存密钥链的密码。如果从外部程序(如邮件客户端)使用GnuPG,这是非常有用的。gnupg附带了默认启用的systemd用户套接字。这些套接字是gpg-agent.socket、gpg-agent-extra.socket、gpg-agent-browser.socket、gpg-agent-ssh.socket和dirmngr.socket。主gpg-agent.socket由gpg用来连接到gpg-agent守护进程。本地系统上gpg-agent-extra.socket的预期用途是从远程系统设置Unix域套接字转发。这样可以在远程系统上使用gpg,而无需向远程系统公开私钥。详见gpg-agent(1)。gpg-agent-browser.socket允许web浏览器访问gpg-代理守护进程。SSH可以使用gpg-agent-ssh.socket来缓存ssh-add程序添加的SSH键。有关必要的配置,请参见#SSH代理。dirmngr.socket启动一个处理到密钥服务器连接的GnuPG守护进程。
因此,即使你不使用它们,拥有它们也没有坏处。如果您确实希望确保它们不在那里,可以尝试将以下内容放入gpg-agent配置文件中:
extra-socket /dev/null
browser-socket /dev/null我没有对此进行测试,文档没有提到browser-socket,但是这个老问题是:https://askubuntu.com/questions/777900/how-to-configure-gnupgs-s-gpg-agent-socket-location。
https://unix.stackexchange.com/questions/605445
复制相似问题