在我的工作场所,流量拦截器/防火墙越来越糟糕。我无法通过 22 端口连接到我的家用机器,而且缺乏 ssh 访问让我感到难过。我以前可以通过将 SSH 移动到端口 5050 来使用 SSH,但我认为最近的一些过滤器现在将此流量视为 IM,并可能通过另一个代理将其重定向。这是我最好的猜测;无论如何,我的 ssh 连接现在在我登录之前终止。
这些天我一直在通过 HTTPS 使用 Ajaxterm,因为端口 443 仍然不受干扰,但这远非理想。(糟糕的终端仿真,缺少端口转发,我的浏览器以惊人的速度泄漏内存......)我尝试mod_proxy_connect
在 . . 可悲的是,这似乎行不通。HTTPS 连接有效,直到我完成发送请求;然后 SSL 废话。似乎接管了整个连接,而不是继续通过管道,这让 HTTPS 客户端感到困惑。mod_ssl
CONNECT localhost:22 HTTP/1.1
mod_proxy_connect
mod_ssl
有没有办法让它工作?我不想通过纯 HTTP 执行此操作,原因如下:
- 留下一个像这样的大胖子开放代理只会很臭
- 一个大的开放式代理也不适合 HTTPS,但是需要身份验证对我来说感觉很好
- HTTP通过代理——我不太担心我的流量被嗅探,因为它将通过隧道“纯文本”传输——但它比HTTPS更容易被破坏,而HTTPS基本上不能被代理
要求:
- 必须在端口 443 上工作,而不会干扰其他 HTTPS 流量(即我不能将 ssh 服务器放在端口 443 上,因为我将不再能够通过 HTTPS 提供页面)
- 我拥有或可以编写一个在 Windows(或 Cygwin)下运行的简单端口转发器客户端
编辑
DAG:有人向我指出了通过 HTTP(S) 建立 SSH 隧道,但这并没有帮助:在文章的最后,他们提到了Bug 29744 - CONNECT 不适用于现有的 SSL 连接,从而阻止了 HTTPS 上的隧道,正是我遇到的问题。此时,我可能正在查看一些 CGI 脚本,但如果有更好的解决方案可用,我不想将其列为要求。