假设我有 3 个服务器:A、B 和 C
C 可以 ssh 到 A 和 B,但是 A 和 B 无法互相连接。
是否可以使用 C 作为“中介”在 A 和 B 之间打开隧道,而无需通过 C 代理所有流量?
答案1
如果 A 和 B 无法连接,那么流量就必须经过 C。您想要(在 A 上)运行:
ssh -L A:portA:B:portB user@C
虽然这通常会直接在 A 上运行,但也许您可以从 C 远程运行它(但我没有第三台机器可以检查):
ssh user@A "ssh -L A:portA:B:portB user@C"