chrome socks 代理通过 ssh 转发超时

chrome socks 代理通过 ssh 转发超时

我正在尝试通过 SSH 隧道转发来自 Google Chrome 的所有流量。

当 Firefox 配置为使用隧道时,它可以工作。当使用附加的代理参数启动 chrome 时,它​​很快导致 ssh 进程锁定并且页面超时。

客户:

  • OpenSSH_5.8p1 Debian-7,OpenSSL 1.0.0d 2011 年 2 月 8 日
  • Google Chrome 17.0.963.79

服务器:

  • OpenSSH_5.9p1 Debian-3ubuntu1,OpenSSL 1.0.0g 2012 年 1 月 18 日

服务器配置;

~$ cat /etc/ssh/sshd_config
...
PermitRootLogin no
AllowUsers testuser
ClientAliveInterval 60
ClientAliveCountMax 5
GatewayPorts yes
MaxSessions 100
#MaxStartups 100    

客户端连接使用~$ ssh -v -D 8118 [email protected]

Chrome 执行~$ google-chrome --proxy-server="socks5://localhost:8118"

debug1: Connection to port 8118 forwarding to socks port 0 requested.
debug1: channel 3: new [dynamic-tcpip]
debug1: Connection to port 8118 forwarding to socks port 0 requested.
debug1: channel 4: new [dynamic-tcpip]
...
debug1: Connection to port 8118 forwarding to socks port 0 requested.
debug1: channel 51: new [dynamic-tcpip]
debug1: Connection to port 8118 forwarding to socks port 0 requested.
debug1: channel 52: new [dynamic-tcpip]

chrome 报告中加载的页面; Error 7 (net::ERR_TIMED_OUT): The operation timed out.

客户端 ssh 进程锁定,必须被终止。

答案1

我也遇到了同样的问题.. 它在 Firefox 中有效(并检查它是否在 Firefox 中有效.. 因为 Firefox 中有一个设置在执行本地地址时不使用代理...所以它看起来好像有效但实际上无效,但在这里,它有效并且我认为它对你也有效。但正如你所说,在 Chrome 中无效)

对我来说,关键是在 IP 之前使用 socks5://。否则它只会假定它是一个常规 HTTP 代理。

在 Chrome 中,我遇到了两种设置使用代理的方法,包括 SOCKS 代理。a
)在“浏览器内”设置
b)从命令行设置

要从浏览器进行设置,请查看它通常要求输入 IP 和端口的位置(扳手..设置..在引擎盖下..更改代理设置..LAN..)

然后它要求输入 IP 和端口 - 不要只输入 IP。输入 socks5://ip 或者我认为 socks4://(如果是 socks4 的话)。这可能不适用于 IE

您还可以勾选使用代理的框,然后将字段留空,单击高级,并在标有 SOCKS 的框中输入 SOCKS 代理的 IP 和端口。这也适用于 IE。

你可以通过访问 chrome://net-internals 查看它是否已设置

从命令行设置它(使用 Voidtools 的 Everything 来帮助您找到路径!)

C:\Documents and Settings\name\Local Settings\Application Data\Google\Chrom lication>chrome --proxy-server="socks5://192.168.1.5:1234"

您可以使用 netstat -aon 查找已建立的到代理端口 1234 的大量连接,并且不应该有任何到端口 80 的连接,如果对它们进行 tracert,它们可能是您知道的不是来自您的网络浏览器的东西,例如 dropbox 或 logmein,因此请检查浏览器是否通过代理获取其页面。

此链接很有帮助 http://code.google.com/p/chromium/issues/detail?id=38207

答案2

我最终通过使用解决了这个问题私有网络

我在 ssh 服务器上设置了 Privoxy(默认监听 8118)

然后使用连接到服务器; ssh [email protected] -L 8118:localhost:8118

然后将 chrome 设置为在所有协议中使用 localhost:8118

注意:设置 privoxy 后,在 chrome/firefox 中使用 http 作为方案

相关内容