如何创建将流量引导至 SSH 隧道的服务?

如何创建将流量引导至 SSH 隧道的服务?

我有以下情况:

  1. 计算机 C 上监听 6678 端口的服务
  2. 只有计算机 B 可以通过 ssh 访问计算机 C
  3. 计算机 B 可在全球范围内访问

我想做以下事情:

在计算机“A”上设置一个服务,该服务侦听端口 6678,最终将被重定向到计算机“C”及其侦听服务。我知道我需要通过多个跳转创建一个 SSH 隧道。例如A -> B -> C

这个问题对我帮助很大,但问题是:它没有在“A”上设置可以全局访问的套接字。我尝试ssh -D设置绑定套接字,例如

ssh -D *:6678 -p 6678 localhost

但它似乎没有什么作用。

创建多跳 SSH 隧道并同时在计算机“A”上设置侦听器以允许流量的最佳选择是什么?

答案1

我认为您正在寻找:

ssh -g -L 6678:computerC:6678 computerB

如果您在计算机 A 上运行此程序,它将打开计算机 A 上的一个端口,并使用与计算机 B 的 ssh 连接将流量重定向到计算机 C。这假设计算机 B 可以直接访问计算机 C 上的端口 6678。如果您只需要从计算机 A 访问计算机 C,您可能希望首先尝试不使用 -g 选项。如果您需要向多台计算机授予对计算机 C 的访问权限,您将需要 -g 选项,并且可能需要调整防火墙规则。

相关内容