SSH 转发的哪一部分设置了 SSH_AUTH_SOCK?

And*_*Vit 4 ssh forwarding ssh-agent

我正在尝试让 SSH 代理从我的 Mac 转发到 Debian 服务器。在我的 Mac 上,我已确认我拥有:

  • SSH_AUTH_SOCK 存在
  • ssh-add -l 显示我的身份
  • ./ssh/config 具有启用 ForwardAgent 的设置

无密码登录远程服务器工作正常。但是,那里没有我的身份,并且 SSH_AUTH_SOCK 为空。

我想了解这是如何在远程环境中设置的,以及我缺少什么才能使其工作?

更新:

我的服务器是AllowAgentForwarding=yes在 sshd_config 和ForwardAgent=yesssh_config 中设置的。

我找到了一些建议运行的教程,所以我尝试了,但我怀疑这是针对客户端机器的。当我在我的服务器上运行它时,它确实设置了一个 SSH_AUTH_SOCK,但它似乎没有连接回客户端代理,并且显示“代理没有身份”。eval ``ssh-agent

小智 5

在装有 OS 10.6.x 的 Mac 上,我发现代理转发不起作用,直到我将我的密钥添加到 Apple 钥匙串中,如下所示:

ssh-add -K ~/.ssh/id_rsa 
Run Code Online (Sandbox Code Playgroud)

其中~/.ssh/id_rsa包含我的私人 ssh 密钥

我有一篇关于设置 ssh 主机配置条目以简化可能感兴趣的ssh 命令行的博客条目