Cod*_*rer 22 ssh forwarding ssh-agent
本指南很好地解释了 ssh-agent 如何跨多个系统工作。我想按照最后一组图表中的方式设置转发,但我无法跟踪执行此操作所需的步骤。
对于我网络上的某些机器,我可以从 A 到 B,然后从 B 到 C,而无需输入证书密码。然而,其他机器给出“无法打开与您的身份验证代理的连接”(有时!),然后不会转发我的身份验证信息。从其中一台机器通过 SSH 连接到网络上的另一台机器再次提示我输入我的私钥密码。
这些机器不是我制造的,但我可以管理其中的一些。我不确定 boxen 有效和无效的 boxen 之间有什么区别——可能是防火墙问题、ssh/ssh-agent/sshd 配置等等,我看不到任何步骤——特定于转发漂浮在“网上”的分步指南。我只需要知道从哪里开始追查这个问题。
Gil*_*il' 24
必须在客户端(ForwardAgent选项 in ~/.ssh/config)和服务器(AllowAgentForwarding选项 in sshd_config)上允许 ssh 代理转发。可能您的机器对这些选项中的一个或两个具有不同的默认设置。
如果您要去 A->B->C,则在 B->C 步骤中不需要转发(除非您随后要去 C->D)。
当您登录到 B 时,检查环境变量SSH_AUTH_SOCK是否已定义。它的价值是如何ssh知道如何联系代理。
没有充分的理由禁止服务器中的代理转发,因为代理转发使客户端容易受到服务器的攻击而不是相反,并且原则上您可以手动设置代理转发(尽管没有那么多点,因为设置它的困难将打败代理转发的便利性)。
小智 14
虽然上面@Gilles 已经给出了正确答案,但我想指出的AllowAgentForwarding是,只有 OpenSSH 5.1 以后才支持。
5.1 之前的 OpenSSH 服务器,从我在 RHEL 4u5 盒子中看到的情况来看,默认情况下允许代理转发。因此,如果您的服务器早于 5.1 并且代理转发不起作用,则问题可能出在 ssh 客户端。由于转发似乎对您的某些机器有效,因此似乎/etc/ssh/ssh_config设置得很好。检查~/.ssh/config是否有任何异常禁用受影响的框的代理转发。
参考:http : //www.openssh.org/txt/release-5.1
| 归档时间: |
|
| 查看次数: |
45358 次 |
| 最近记录: |