gpg-agent (macOS) 不提供任何 SSH 密钥

gpg-agent (macOS) 不提供任何 SSH 密钥

有几个主题解决类似的问题,但其中提供的解决方案都不适合我的环境,即:

  • macOS 11.2.3(MacBookPro M1/Apple 芯片)
  • GnuPG 2.2.27(通过 Homebrew 安装)
  • Zsh shell
  • GPG 密钥,带有用于 SSH 的仅身份验证子密钥

〜/.gnupg/gpg-agent.conf文件:

pinentry-program /opt/homebrew/bin/pinentry-tty
enable-ssh-support

〜/ .gnupg / sshcontrol文件:

FADD8723...AE7ED (the keygrip retrieved with `gpg -K --with-keygrip`)

〜/.zshrc文件:

unset SSH_AGENT_PID
export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent

我确定ssh代理未运行(还重新启动系统以确保)。但运行时没有找到key:

ssh-add -L
The agent has no identities

我缺少什么?

编辑:我应该补充一点,我还配置了一些像这样的 Debian 10 系统,并且它工作得很好。

答案1

看起来您正在使用gpg-agentSSH 密钥而不是ssh-agent.这很好,但由于 SSH 密钥可以安装在系统上的任何位置,因此您仍然必须ssh-add像以前一样将密钥添加到代理中。至少在Linux上,gpg-agent会记住你告诉它的键并尝试下次加载它们,但你仍然需要告诉它首先使用哪些键。

相关内容