通过SSH进行SSH(或如何通过SSH“代理”SSH)

时间:2011-06-17 10:05:03

标签: ssh tunnel tunneling

我正在寻找通过SSH进行SSH的方法(如标题所示)。

所以,我知道我能做到:

ssh -t user1@proxyServer ssh user2@farAwayServer

或者我可以将ProxyCommand与nc一起使用,但我不想通过连接到每个farAwayServer来使用一个到proxyServer的连接。而且我知道我可以使用ControlMaster,但我对这个解决方案也不是很满意。

我更喜欢这样的东西:

ssh -t -Dlocalhost:2222 user1@proxyServer
ssh (something to use the localhost:2222) user2@farAwayServer

此解决方案是否存在,如果是,如何?

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

ProxyChainstsocks允许您通过SOCKS代理重定向ssh网络连接。

另一个选择是使用socat(了解SOCKS4 / 5)和ProxyCommand。

答案 1 :(得分:0)

可能我不明白你在说什么。是否要在连接到其他ssh主机时连接到SSH主机?

那么,当你可以访问第一个主机然后访问第二个主机时,为什么要通过键入两个命令来实现呢?你真的需要一个三手软件吗?用一个连接每次连接不是更好吗?

对于服务提供商而言,Shell连接已经很难处理我没有看到任何理由让它变得更加困难,除非你做什么奇怪的事情,在这种情况下,可能有很多软件你可以使用使用encripted连接同时连接到各种主机。但是请继续关注日志以及开放的shell可能存在于您通过的每个系统中的痕迹。