Windows 和两台 Linux 机器之间的 ssh 隧道上的 ssh 隧道

LSt*_*ike 4 linux ssh windows tunneling

我有以下配置,想在隧道上建立隧道。我已经阅读了以下主题: 如何将隧道放入隧道?

我的配置:

Notebook --> Linux Server A --> Linux Server B
Run Code Online (Sandbox Code Playgroud)

笔记本:Windows XP with putty
Linux Server A 和 B:Ubuntu 10.10

我有一个 ssh 连接,通过 putty 从我的笔记本到服务器 A 的隧道。现在我想建立一个从服务器 A 到 B 的隧道,以便我可以使用 IDE 直接连接到服务器 B 上的 jboss。

这是我在服务器 A 上尝试建立隧道的命令:

ssh -t -L 8080:localhost:8080 Server B -p 8822
Run Code Online (Sandbox Code Playgroud)

这行不通。

有人知道如何建立工作隧道吗?

Pis*_*ing 6

您正在寻找的是“ssh 多跳”。使用 ProxyCommand 指令.ssh/config(或 PuTTY 中的等效配置选项,或 what-have-you),完全可以透明地执行此操作:

Host linux-server-b
  ProxyCommand ssh -q linux-server-a nc -q0 linux-server-b 22
Run Code Online (Sandbox Code Playgroud)

这是什么,当您尝试连接到linux-server-b

  • 打开一个 SSH 连接到 linux-server-a
  • netcat那里运行,并打开一个 TCP 连接到linux-server-b
  • 将此连接转发回给您

这样,您就可以使用 SSH 的所有功能,就像linux-server-b直接连接一样;您甚至可以将多个跃点链接在一起(服务器 A 到服务器 B 到服务器 C 到服务器 D ...)

也可以看看: