情况

情况

情况

  • ssh-add -K the_path我使用user@local将 ssh-key 添加到链中
  • 我按照此处所述设置了密钥转发https://help.github.com/articles/using-ssh-agent-forwarding
  • AllowAgentForwarding 已启用(本地)
  • /etc/ssh_config 中的 ForwardAgent 不是“否”(远程)
  • echo "$SSH_AUTH_SOCK" 传递一个临时文件(本地)
  • 当我以 other@s​​erver 身份登录时ssh -vT [email protected]
  • 当我ssh-add -L以 other@s​​erver 身份运行时,它会添加密钥。

问题

  • 当我ssh-add -L在 root@server 上运行时,它显示“无法打开与您的身份验证代理的连接”。
  • 当我以 root@server 身份运行时,它不会登录ssh -vT [email protected]

我几乎不知道该在哪里修复它或问题出在哪里。有人能帮忙吗?

答案1

听起来您还没有为您的 root 用户启动 ssh-agent 会话。ssh-agent 要求您的用户设置环境变量以将您的用户与正确的 ssh-agent 进程关联起来。

例如

SSH_AUTH_SOCK=/tmp/ssh-MTQoMbTLN3Kb/agent.30851; 导出 SSH_AUTH_SOCK; SSH_AGENT_PID=30852; 导出 SSH_AGENT_PID; echo Agent pid 30852;

您可能还想研究一下 SSHKeychain,以便更轻松、自动化地管理您的代理和密钥。

答案2

使用visudoSSH_AUTH_SOCK 扩展 env_keep 将解决问题

Defaults    env_keep+=SSH_AUTH_SOCK

相关内容