情况
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@server 身份登录时
ssh -vT [email protected]
- 当我
ssh-add -L
以 other@server 身份运行时,它会添加密钥。
问题
- 当我
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
使用visudo
SSH_AUTH_SOCK 扩展 env_keep 将解决问题
Defaults env_keep+=SSH_AUTH_SOCK