在过去的2个小时里,我一直在寻找解决以下问题的方法,但是没有运气。
发展:
我正在使用公共密钥身份验证连接到我的服务器。我使用ssh-agent转发来不必管理公用/专用密钥。
假设我有服务器A, B and C
。
如果我从进行连接,则效果很好LOCAL ---> A ---> B
。
如果我这样做也很好LOCAL ---> A ---> C
。
现在,如果我尝试这样做LOCAL ---> A ---> B ---> C
,则SSH无法从进行连接B to C
。
值得注意的是:我以流动性连接到服务器A,而我以root身份连接到服务器B。由于流动性而连接到服务器B可以解决此问题,但这对我来说不是一个选择。
根据用户的建议,我ssh -A
每次都要确保启用了代理转发。
我发现了一个类似的问题,但在这里没有答案:是否可以通过多跳链接ssh-agent转发?
根据这里的@Zoredache:https://serverfault.com/a/561576/45671,我只需要在每个中间系统上调整客户端配置即可。我相信我做到了。
不幸的是,我不能使用proxyCommand。尽管有安全方面的考虑,但我确实需要使用forwardAgent。
—
流动资金
我可以问@liquidity为什么不使用proxyCommand?我有同样的问题,据我了解proxyCommand更安全。所以我在考虑使用哪个
—
grep
ProxyCommand
跳频(如解释在这里),而不是转发的SSH代理。对于您的方法,您必须信任链中的所有计算机,因为它们可以(ab)使用您的私钥。我也很喜欢ProxyCommand接近好了很多,因为已知主机检查本地完成的,而且,你可以设置链的SSH配置,所以你可以使用一个命令来连接到C.