我想绕过ISP的防火墙,并成功地做到了视窗和安卓通过发送一组 HTTP 标头并使用 CONNECT 方法建立到远程 (例子) SSH 服务器。
POST http://host.com/ HTTP/1.0[crlf][crlf]
CONNECT host.com@[host_port] [protocol][crlf][crlf]
然后我使用该连接作为 SOCKS5 代理,并且不受 ISP 施加的限制。
现在我想在 Linux 上做同样的事情,但我找不到任何 Linux 替代品,而且我的笔记本电脑非常弱,无法一直运行 VirtualBox。有什么建议么?我知道可能没有很好的 GUI,但我不害怕控制台
答案1
拟议的副本,Linux中SSH客户端通过代理连接主机为您的要求提供几乎精确的解决方案。稍微调整一下,就可以通过 Squid 代理获得这两个对我有用的解决方案(注意,其中一个已修改为允许隧道到端口 22),
首先,安装适当的软件包代理隧道工具。在 Debian/Raspbian 上它是“proxytunnel”
现在您可以通过代理直接使用 ssh 连接HTTP CONNECT
到目标设备
ssh -o ProxyCommand='proxytunnel -p proxyHost:proxyPort -d %h:%p' user@remoteHost
如果您要remoteHost
定期连接,请考虑在您的~/.ssh/config
Host remoteHost
ProxyCommand proxytunnel -p proxyHost:proxyPort -d %h:%p
在 Cygwin (Windows) 上有一个不同的包“connect-proxy”,其语法略有不同
ssh -o ProxyCommand='connect-proxy -d -H proxyHost:proxyPort %h %p' user@remoteHost
和
Host remoteHost
ProxyCommand connect-proxy -d -H proxyHost:proxyPort %h %p