我的笔记本电脑(计算机A)到计算机B有一个正常工作的 socks 代理:
[A]$ ssh -ND 8888 B
我可以将firefox设置为在本地端口8888上使用 socks 代理,然后进行浏览。到现在为止还挺好。

但是我在机器B和C之间也有一个 socks 代理:
[B]$ ssh -ND 8157 C
因此,我可以在B上浏览,就像在C上一样。

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

请注意,我不想转发单个端口(例如80),而是希望使用全链 socks 代理。

最佳答案

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

ssh -ND 8888 user@C

然后在机器A上
ssh -L 8888:localhost:8888 user@B

这将使机器B上的SOCKS连接并使机器B的端口8888可从机器A的本地主机端口8888连接。

如果您不能直接连接到机器B,则可能需要打开3条ssh连接。如果可以连接到机器B,则只需2条,并且实际上可以根据需要链接命令。

关于ssh - 如何链接SOCKS代理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26757342/

10-11 07:47