没有用户名或密码的通过 Socks 代理的 SSH

mnm*_*mnc 8 ssh proxy ssh-tunneling socks backtrack

我有一个来自站点的 SOCKS 代理服务器列表。

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

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

我想要实现的是通过 Machine 上的Assh 隧道从 Machine 连接B到 Machine C。假设 MachineC上的sshd正在侦听端口 21,而 MachineB代理正在侦听端口 1080。

补充问题:

我还想创建一个到socks 代理服务器的隧道,它允许我在firefox 中设置localhost:8080 作为代理,并允许我B使用机器BIP 地址从机器浏览网络。

Sté*_*las 10

在我看来,您需要一个袜子客户端,或者一个了解袜子的 ssh 客户端。-D是让 ssh 成为袜子服务器/代理。

您可以在tsocks或其他 SOCKS 包装器下使用 ssh 。或者将 ssh 的 ProxyCommand 与socator结合使用nc -X

ssh -o ProxyCommand='socat - socks:B:%h:21,socksport=1080' C
Run Code Online (Sandbox Code Playgroud)

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

请注意,并非所有应用程序都能很好地与tsocks依赖于 的任何类似包装器一起使用LD_PRELOAD,但tinyproxy确实如此。

另请注意,您可能会遇到域名解析问题(取决于您是否希望在隧道的任一侧解析名称)。tsocks不能很好地远程解析名称。它可以工作的唯一方法是当您的名称服务器(in /etc/resolv.conf)可以从另一端访问并且您使用 TCP 进行域解析(这tsocks可以尝试强制执行,但在我的经验中通常会失败)。socksifyfromdante的 SOCKS 客户端/服务器在这种情况下工作得更好,因为它也包装了解析函数,并且还可以使用一个很好的小技巧来伪造名称解析,以便可以使用 SOCKS 按名称连接。

  • 好吧,curl 也支持 SOCKS。所以你想把一个socks代理变成一个HTTP代理?然后你可以在 `tsocks` 下运行一个 HTTP 代理服务器(比如 `tinyproxy`) (2认同)