我想用我的服务器作为“代理”与SSH。 但是,build立隧道与
ssh -D localhost:8000 user@myserver
不起作用。
我用ssh和putty在不同的机器上testing了它 – 它连接的很好,但是当我相应地设置我的浏览器设置时,我只是得到一个错误“Connection has been reset”。 我尝试用wireshark监控stream量,但是我甚至没有看到一些隧道stream量。 我明确地设置AllowTcpForwarding
为“是”,但我仍然不能使用隧道。
在详细模式下运行ssh时,我不会收到任何错误
debug1: Connection to port 8000 forwarding to socks port 0 requested. debug1: channel 3: new [dynamic-tcpip] debug1: channel 3: free: dynamic-tcpip, nchannels 4
我究竟做错了什么?
正确的命令是:
ssh user@server -D 8000
如果仍然无法连接,请检查另一个进程是否正在使用此端口。 最简单的方法是:
netstat --listen |grep 8000
如果是这种情况,只需使用另一个端口。
这是一个古老的线索,但我认为这是值得发布可能的解决scheme。
我有几个浏览器相同的问题,原来是configuration问题。 如果是这样的话,下面的命令应该工作并显示远程机器的IP地址:
links -socks-proxy localhost:8000 www.myipaddress.com
在这个问题上的第一个评论是正确的,因为浏览器可能会尝试使用HTTP代理,而不是SOCKS代理,在这种情况下,我看到完全相同的输出从ssh
作为OP的职位。 虽然我确实设置了SOCKS代理,但问题是我没有取消设置HTTP代理 。 一旦完成,一切按预期开始。
我有同样的问题,我的修复是添加-g
选项的命令:
$ ssh -D 12324 localhost:8000 user@myserver -g