gpt4 book ai didi

ssh - 如何在 NixOS 中使用 GnuPG 代理设置 SSH 关键字缓存?

转载 作者:行者123 更新时间:2023-12-04 03:57:32 31 4
gpt4 key购买 nike

我正在通过 SSH 远程使用 NixOS(目前 channel 不稳定),因此没有图形环境。我经常推送和拉取 Git 存储库,重新输入 SSH key 的密码很快就会变旧,所以我正在尝试设置一个代理来缓存密码。

对于最新版本,使用支持 SSH 的 GnuPG 代理似乎是推荐的选择。我通过取消注释 configuration.nix 中的以下行来启用代理:

  programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryFlavor = "gnome3";
};

pinentryFlavor 的选择在这里重要吗?我想象 SSH 通过它自己的提示询问 key ,并使用代理缓存它们,但确认会很好。正如我所说,我没有使用图形界面。

主要问题:仅通过从 configuration.nix 启用代理似乎不起作用。显然还需要做一些其他事情,但我找不到任何关于如何在 NixOS 中正确启用代理的文档。

最佳答案

全局configuration.nix/etc/bashrc 设置配置以在bash 启动时调用gpg-connect-agent 并且/etc/set-environment 设置 SSH_AUTH_SOCK 环境变量。它还在 /etc/systemd/user/gpg-agent* 添加系统范围内的每用户 systemd 单元,运行每用户 GnuPG key 代理。

最后,您必须确保使用ssh-add 命令将 key 添加到代理;当 SSH 提示 key 密码时,它不会自动添加。

这应该足以使 GnuPG 代理与 SSH 一起工作。 在终端上使用时,pinentryFlavor 的选择也不应该有影响。结果是您应该pinentryFlavor 设置为在终端上使用时诅咒。如果您不这样做,代理会在重新验证时抛出错误。

(我不确定为什么我在第一次启用 GnupPG 时遇到各种错误情况。它现在使用默认设置工作。可能是 systemd 服务未正确启动。)

关于ssh - 如何在 NixOS 中使用 GnuPG 代理设置 SSH 关键字缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63589258/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com