SSH 隧道(端口转发)通过另一个 SSH 隧道?

SSH 隧道(端口转发)通过另一个 SSH 隧道?

我正在尝试将所有网络流量通过隧道传输到远程 Linux 服务器 (A),但我无法从本地 Windows 计算机访问它。但是,有一台我可以访问的计算机 (B),而这台计算机恰好可以访问 (A) 计算机。

所以我的目标是使用机器 B 访问机器 A 并通过它传输所有流量。

我想也许

ssh -N -D 1080 user@machine-A

我可以做类似的事情:

ssh -N -D 1081 user@machine-B
ssh -N -D 1080 user@machine-A --use "1081"

答案1

我认为你可以尝试一下,但不完全是那样。

您使用的 -D 开关指的是动态端口转发,它会在您的本地 PC 上打开 Socks 5 代理并将所有流量隧道传输到 ssh PC。

因此,在机器 B 中,通过发出

B$ ssh -N -D 1080 user@machine-A 

你在机器 B 的 1080 端口上创建一个代理,将所有流量通过隧道传输到机器 A

然后,在本地机器上,你需要指示 ssh 将所有流量隧道传输到机器 B 的特定端口

一个适当的方法是使用,

ssh -R 1080:localhost:1080 user$machine-B

然后,所有流量将从本地端口 1080 传输到机器 B 1080,然后再传输到机器 A。

我认为这种设置应该完成你想完成的工作。

相关内容