如何调试ssh隧道

Fra*_*ens 8 debugging ssh tunnel

我想在本地机器上设置一个简单的ssh隧道到互联网上的机器.我正在使用

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

安装工作正常(我认为)导致ssh returs要求我提供的凭据.

然后我做

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

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

Sha*_*hin 12

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

ssh -D 8080 -vvv -N -p 12122 <username>@<hostname>
Run Code Online (Sandbox Code Playgroud)

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

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

如果你真的需要使用wget,你将不得不重新编译自己的版本以包含socks支持.在./configure某些地方应该有一个选项--with-socks.

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