在三台计算机之间创建动态 SSH 隧道

在三台计算机之间创建动态 SSH 隧道

因此我有以下设置:

计算机 A、服务器、计算机 B

计算机 A 和 B 可以通过 SSH 连接到服务器,但反之则不行。目标是实现从 A 到 B 通过服务器的动态 SSH 隧道,以便 A 可以使用 B 的计算机进行动态浏览。

此外,A 和 B 都无法接受 SSH 连接 - 只能发送(甚至不能来自他们自己)。这意味着使用以下命令为自己打开一个 SOCKS5 服务器:

ssh -D 8000 localhost

实在是不可能。

我已经能够将所有流量从 A 重定向到在计算机 A 上运行以下程序的服务器:

ssh -D 1080 server_ip

但是现在我想使用反向动态 SSH 隧道,在计算机 B 上运行以下命令似乎不起作用:

ssh -R 1080 server_ip

有什么办法吗?我发现的任何其他解决方案都行不通。

答案1

ssh -D是 SSH服务器谁真正连接到所需的地址(例如,您在配置为使用 SOCKS 的浏览器中输入的地址)。

如果您想“使用 B 动态浏览”,则需要让 B 上的 SSH 服务器代表您创建连接。但如果 B 无法接受 SSH 连接根本那么你就无法访问其 SSH 服务器。在你描述的设置中,B 上可能根本没有 SSH 服务器。

如果 B 可以接受 SSH 连接(至少来自它自己),或者如果它托管一个 SOCKS 服务器并接受某个 TCP 端口上的连接(至少来自 B 本身),情况就会有所不同。

相关内容