如何允许其他计算机使用本地SOCKS SSH隧道?


10

我经常在计算机上使用SOCKS代理使用SSH隧道。

ssh -D 1234 example.com

但是,这仅接受本地连接。我希望网络上的其他系统也能够使用计算机上的代理。

我该如何实现?如果SSH本身没有选项,我想可能可以在另一个端口上有一个程序代理来代替该代理,但是我不知道是否有任何常用的工具可以做到这一点。

Answers:


16

告诉它绑定到外部地址,而不是localhost

ssh -D 192.168.0.123:1234 example.com

13
或者您可以使用ssh -D "*:1234" example.com绑定到所有地址。
戈登·戴维森

我发现最后的评论超级有用!
jnthnclrk

1
我使用0.0.0.0作为IP地址。 ssh -D 0.0.0.0:1234 example.com
Sahil Singh

或用于-g绑定到0.0.0.0(接受所有IP地址)
GH

所以应该在其他计算机上设置哪个IP和端口以使用代理?
mohammad6006

-2

您将必须在主机上启用路由并设置路由协议,例如RIP。基本上,您必须像路由器一样工作,其他主机必须具有路由条目才能到达另一侧的网络(希望这不是重复的RFC1918网络)。


用户只需要输入代理服务器的IP地址即可...无需路由。
Mark E. Haase

@mehaase您感到困惑。那么代理服务器将如何处理呢?用户将如何到达其他网络?
基思(Keith)

通过代理?这不是重点吗?ssh -D充当SOCKS代理,而不仅仅是点对点隧道。它具有应用程序意识。
Mark E. Haase

实际上,这个问题令人困惑。我看到了隧道传输,它不同于代理。共享IP隧道与通过点对点链接进行路由没有什么不同。
基思(Keith)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.