SSH密钥转发失败,只要我是根

情况

  • 我使用ssh-add -K the_path作为用户@本地添加一个ssh-key到链中
  • 我设置了https://help.github.com/articles/using-ssh-agent-forwarding中所述的密钥转发
  • AllowAgentForwarding已启用(本地)
  • ForwardAgent在/ etc / ssh_config(remote)中不是“no”
  • 回声“$ SSH_AUTH_SOCK”提供了一个tmp文件(本地)
  • 当我ssh -vT git@bitbucket.com作为其他@服务器,然后login
  • 当我运行ssh-add -L作为其他@服务器时,它添encryption钥。

问题

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

我几乎不知道在哪里解决这个问题,或者是什么问题。 有人可以帮忙吗?

听起来你没有为你的root用户启动一个ssh-agent会话。 ssh-agent要求您的用户设置envvariables,以将您的用户与正确的ssh-agent进程相关联。

例如

SSH_AUTH_SOCK = / TMP / SSH-MTQoMbTLN3Kb / agent.30851; 导出SSH_AUTH_SOCK; SSH_AGENT_PID = 30852; 导出SSH_AGENT_PID; 回声代理pid 30852;

您可能还想查看SSHKeychain,以便更轻松自动地pipe理代理和密钥。

使用visudo并使用SSH_AUTH_SOCK扩展env_keep将解决问题

 Defaults env_keep+=SSH_AUTH_SOCK