首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么gpg-agent要创建几个套接字?

为什么gpg-agent要创建几个套接字?
EN

Unix & Linux用户
提问于 2020-08-20 14:32:17
回答 1查看 2.9K关注 0票数 7

当将gpggpg-agent一起使用时,将在我的~/.gnupg目录中创建以下套接字:

代码语言:javascript
复制
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

我在Debian .

上使用gnupg 2.2.12

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 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

例如,我们可以学到:

  1. 关于.extra 1,我们可以学习如何禁用它,以及它用于什么:

-额外套接字名称默认情况下创建,您可以使用此选项更改套接字的名称。若要禁用套接字的创建,请使用“none”或“/dev/null”作为名称。还可以侦听给定套接字上的本地gpg代理连接。此额外套接字的预期用途是在本地计算机上设置Unix域套接字,将其从远程计算机转发到此套接字。然后,运行在远程计算机上的gpg可以连接到本地gpg代理并使用其私钥。这样可以在远程计算机上解密或签名数据,而无需向远程计算机公开私钥。

  1. 对于ssh支持,.ssh 1:

--enable-ssh-support --enable-putty-support始终启用OpenSSH代理协议,但gpg代理只在给定此标志的情况下才会设置SSH_AUTH_SOCK变量。在这种操作模式下,代理不仅实现了gpg-代理协议,还实现了OpenSSH (通过单独的套接字)使用的代理协议。因此,应该可以使用gpg代理作为众所周知的ssh代理的插入替代。

  1. 对于浏览器套接字和更多信息,您可以使用https://wiki.archlinux.org/index.php/GnuPG#gpg-agent

gpg-agent主要用作守护进程,用于请求和缓存密钥链的密码。如果从外部程序(如邮件客户端)使用GnuPG,这是非常有用的。gnupg附带了默认启用的systemd用户套接字。这些套接字是gpg-agent.socketgpg-agent-extra.socketgpg-agent-browser.socketgpg-agent-ssh.socketdirmngr.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配置文件中:

代码语言:javascript
复制
extra-socket /dev/null
browser-socket /dev/null

我没有对此进行测试,文档没有提到browser-socket,但是这个老问题是:https://askubuntu.com/questions/777900/how-to-configure-gnupgs-s-gpg-agent-socket-location

票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/605445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档