SSH over Socks代理,无需用户名或密码


8

我有站点上的SOCKS代理服务器列表。

我已经读过关于创建动态隧道的信息,ssh -D说实话,我已经尝试过了。不幸的是,由于某些原因,我无法连接到列表中的任何代理服务器。

OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k在BackTrack上使用。如果有人愿意提供帮助或指向对我有用的逐步指南,我将不胜感激。

我要实现的是从Machine A通过Machine上的ssh隧道连接B到Machine C。可以说Machine C上的sshd在端口21 上侦听,而Machine Bproxy在端口1080上侦听。

附加问题:

我还想创建一条通往袜子代理服务器的隧道,这将允许我在firefox中将localhost:8080设置为代理,并允许我从B具有机器BIP地址的机器浏览网络。


你想做什么?我B是否应该假设“机器”应该来自该列表?
sr_

我正在尝试使用中间的服务器作为跳转代理以连接到第三台计算机。B机器来自列表-正确。我还想创建一条通往袜子代理服务器的隧道,这将允许我在firefox中将localhost:8080设置为代理,并允许我从具有机器B IP地址的机器B浏览网络。
mnmnc

为什么在端口21上运行ssh?
Flimzy 2013年

Answers:


10

在我看来,您需要一个袜子客户端或一个了解袜子的ssh客户端。-D用于ssh作为socks服务器/代理。

您可以在tsocks或其他SOCKS包装器下使用ssh 。或结合使用ssh的ProxyCommand socatnc -X

ssh -o ProxyCommand='socat - socks:B:%h:21,socksport=1080' C

要拥有一个使用SOCKS服务器发送HTTP请求的HTTP代理,您可以tinyproxy在tsocks下运行一个小的代理(如)。

请注意,并非所有的应用程序都能很好地与tsocks或依赖的包装程序配合使用LD_PRELOAD,但是tinyproxy可以。

另请注意,域名解析可能会出现问题(取决于您是否希望在隧道的任一端解析名称)。tsocks不能很好地用于远程解析名称。它的唯一工作方式是当您的名称服务器(in /etc/resolv.conf)从另一端可以访问并且您正在使用TCP进行域解析时(tsocks可以尝试强制实施,但根据我的经验通常会失败)。在这种情况下,socksify来自danteSOCKS的客户端/服务器的效果更好,因为它还包装了解析功能,并且还可以使用一个不错的小技巧来伪造名称解析,以便可以使用SOCKS别名连接。


是的!可行ssh -o ProxyCommand='socat - socks:218.62.97.105:HOST_B:21,socksport=1080' C。那真的很棒。谢谢。您能否建议使用此袜子代理创建隧道的命令,我可以在firefox中将其设置为本地Web代理?我不确定这是否行得通:Firefox +本地端口隧道->袜子隧道计算机B-> HTTP服务器。如果有可能,并且您知道该怎么做,请分享,我向您保证+100 :)。如果不可能,我仍然会为上述答案提供+50。
mnmnc

1
Firefox支持袜子直接(见在先进的网络设置代理选项)
斯特凡Chazelas

好。也许我通过建议Firefox误导了您。可以说CURL-我想通过本地代理连接,这样我就可以在bash脚本中自动创建隧道。
mnmnc

2
好吧,curl也支持SOCKS。因此,您要将袜子代理转换为HTTP代理吗?然后你可以运行一个HTTP代理服务器(像tinyproxy)下tsocks
斯特凡Chazelas

好。tsocks似乎正是我需要的。允许的2天之内获奖。非常感谢你。:)
mnmnc
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.