通过反向隧道在服务器上创建隧道

通过反向隧道在服务器上创建隧道

有3台计算机:

  • 本地机器(osx)
  • server1(数据中心的centos 7,22号端口开放)
  • server2(centos 7 在 nat 后面关闭)

server2 在端口 2222 上维护到 server1 的反向隧道。ssh localhost -p 2222在 server1 上运行直接进入 server2 的命令行

从本地计算机通过 server1 到 server2 设置隧道的最佳方法是什么?例如,可以使用 启动从 localhost 到 server1 的隧道ssh -D 5000 -N root@server1

如何创建额外的跳数并让隧道从本地主机一直通到服务器 1 再到服务器 2?我试过这种方法,ssh -L 5000:localhost:5000 root@server1 ssh -L 5000:server2:2222 -N root@localhost但没有成功

例如本地主机 -5000-> 服务器1 -2222-> 服务器2

答案1

通过建立反向隧道,您将 server1 上的 localhost:2222 绑定到 server2。我建议您现在在本地 osx 机器的某个端口号上建立到 server1 的隧道(我在本例中选择了 9999),只是为了访问您之前创建的反向隧道,即

ssh -L 9999:localhost:2222 root@server1

将其保持打开状态,以便您准备好使用到 server2 的双跳。接下来,在单独的终端中,您应该能够执行

ssh -p 9999 root@localhost

并获得对 server2 的访问权限。出于安全原因,我建议不要使用 root 进行 SSH 连接。

相关内容