如何通过 2 台主机建立 SSH 隧道?

如何通过 2 台主机建立 SSH 隧道?

我工作的网络阻止了一些高端口,这使我无法从 Mac 通过 SSH 连接到家庭网络上的 Windows 计算机。我通常使用以下命令建立与 OS X 上的远程桌面客户端连接的隧道。

ssh -p 22601 -L3389:Windows:3389 user@Ubuntu1 -N

在这种情况下,我有两台机器:

  • 服务器 A:Ubuntu1(端口 22601)
  • 服务器 B:Windows(端口 3389)

为了解决当前网络上端口 22601 被阻止的问题,我可以通过另一台机器建立隧道。我们将其称为 Ubuntu2,它在端口 22 上运行一个 SSH 服务器。我尝试了几种组合,但似乎无法使此连接正常工作。我对 Ubuntu 1 和 2 拥有相同的 SSH 公钥访问权限。在所有情况下,我都使用相同的用户名。

我应该执行什么命令行来执行此操作,并且我还必须在 Ubuntu2 上的 SSHd 配置中执行其他操作吗?

答案1

请看以下内容:

http://blog.allanglesit.com/2011/11/ssh-hop-through-multiple-hosts/

将它们与相关的端口号链接在一起就可以了。

或者,您可以使用 ProxyCommand 使其更加透明:

http://backdrift.org/transparent-proxy-with-ssh

相关内容