情况: 我想通过 HTTPS 建立 SSH 会话。我有一个非常严格的防火墙/代理,它只允许 HTTP、FTP 和 HTTPS 流量。
工作原理: 通过代理设置隧道到远程 linux 机器,该机器在端口 443 上有一个 sshd 侦听
问题: 我必须在端口 443 上运行一个 Web 服务器(轻量级)。代理禁止到其他端口的 HTTPS 流量。
到目前为止的想法: 设置一个虚拟主机并将所有传入的请求代理到本地主机:(例如22)
$HTTP["host"] == "tunnel.mylinux.box" {
proxy.server = (
"" => (("host" => "127.0.0.1", "port" => 22))
)
}
不幸的是,这行不通。我做错了什么,还是有原因,这不起作用?
你可以使用一些 Perl 来解决这个问题:
sslh - 在 SSH 和 SSL/HTTPS 服务器之间切换传入连接
您可能想查看sslh 的 C 实现。
从网站: