如何链接SOCKS代理?

use*_*114 9 ssh proxy socks

我有一个从我的笔记本电脑(机器A)到机器B的工作袜代理:

[A]$ ssh -ND 8888 B

我可以设置firefox在本地端口8888上使用socks代理,并且浏览工作.到现在为止还挺好.

但我在机器B和C之间也有一个袜子代理:

[B]$ ssh -ND 8157 C

所以我可以浏览B,好像我在C.

有没有办法链接两个代理,以便我能够在使用连接到C时本地使用firefox(在A上)?也就是说,以某种方式将所有firefox的socks请求从A转发到C.A和C不能直接看到对方,但我到处都有完全的root ssh访问权限.所有机器都是Debian.

请注意,我不想转发单个端口(如80),我想要一个完整的链式袜子代理.

exu*_*sum 11

在机器B上设置机器C的动态代理

ssh -ND 8888 user@C
Run Code Online (Sandbox Code Playgroud)

然后在机器A上

ssh -L 8888:localhost:8888 user@B
Run Code Online (Sandbox Code Playgroud)

这使得机器B上的SOCKS连接成为可以从机器A上的localhost端口8888连接机器B的端口8888.

如果您无法直接连接到机器B,则可能需要打开3个ssh连接.如果您可以连接到机器B,则只需要2并且如果需要可以实际链接命令.


小智 -1

你可以将ssh从机器a反向到机器b,然后将其移植到机器c,即机器c

ssh -R 6333:localhost:22 user@machine_b_ip
Run Code Online (Sandbox Code Playgroud)

这将通过加密隧道将机器 c 连接到机器 b 并侦听端口 22,现在连接到机器 b 上端口 6333 的任何内容都将发送到端口 22 上的 machine_c_ip

现在从机器a连接到机器b

ssh user_oof_machine_c@machine_b -p 6333
Run Code Online (Sandbox Code Playgroud)

现在您已通过端口 6333 连接到机器 B,从机器 C 发送的任何内容都将转发到机器 A

您可以反向处理不同端口以从 a 到 c 运行 cmd

我知道这不是袜子链接,但它是解决问题的方法