我一直在尝试在我的设备上设置我的转发代理,以便我可以从远程服务器进行 Git 提交和 git 推送。
我通过正常命令来进行设置:
ssh-agent
eval "$(ssh-agent)"
ssh-add
如果我ssh-add -l
在本地计算机上执行此操作,我可以看到两个密钥均已添加。
然后我通过 ssh 连接到我的服务器,例如ssh server.compang.co.uk -A
现在,如果我这样做,ssh-add -l
我会收到“RSA & DSA”下面列出的两个密钥的以下错误:
获取协议 1 的身份时出错:代理拒绝操作
关于如何解决这个问题有什么想法吗?我已经没有主意了。
答案1
据传闻,这只是一个警告。要在登录到另一台计算机 2 时使用原始计算机 1 中的私钥,必须将它们添加到计算机 1 中的 ssh-agent 会话中。它们将显示在计算机 2 上ssh-add ~/.ssh/id_{rsa,ecdsa,...}
的输出中。ssh-add -l
从机器2连接机器3不需要复制私钥,这要归功于“代理转发”。 (无法从机器 2 连接到机器 3 可能是由于在机器 1 上执行的命令中缺少机器 3 所期望的私钥ssh-add
)。
我还发现不需要ssh-agent
在机器2上启动。