13

我想设置一个从本地机器到互联网机器的简单 ssh 隧道。我在用着

ssh -D 8080 -f -C -q -N -p 12122 <username>@<hostname>

设置工作正常(我认为)导致 ssh 返回要求我提供的凭据。

然后我做

export http_proxy=http://localhost:8080wget http://www.google.com

Wget 返回请求已发送到代理,但没有收到任何数据。我需要的是一种查看 ssh 如何处理请求的方法....

4

1 回答 1

19

要从 SSH 连接中获取更多信息以进行调试,请省略-q-f选项,并包括-vvv

ssh -D 8080 -vvv -N -p 12122 <username>@<hostname>

为了解决您的实际问题,通过使用ssh -D您实际上是在设置一个SOCKS代理,我认为 wget 默认不支持该代理。

通过该选项curl提供 SOCKS支持,您可能会有更好的运气。--socks

如果您真的需要使用 wget,则必须重新编译您自己的版本以包含 socks 支持。应该有一个选项./configure沿着--with-socks.

或者,查看可以拦截传出网络连接并通过 SOCKS 服务器重定向它们的tsock 。

于 2011-02-14T13:29:00.020 回答