通过 HTTP 代理通过 80 连接到 ssh 服务器?

通过 HTTP 代理通过 80 连接到 ssh 服务器?

请帮忙:我想连接到我家里的 ssh 服务器

但是,我位于公司(CORP)防火墙后面,
它阻止了几乎所有端口(443、22、23 等)。

但似乎 80 没有被封,
因为我登录后可以上网
(即 IE 设置为 CORP 的代理服务器,然后
启动 IE -> 显示 CORP 内联网门户 -> 输入 google.com ->
弹出用户 ID + 密码对话框 ->
登录成功,可以不受限制地上网)

我的 ssh 服务器在 443 处监听。

我的问题是:

有没有办法从
CORP 防火墙后面的计算机 通过 80 端口连接
到 ssh 服务器,而 ssh 服务器 仍在监听端口 443?

更改 ssh 服务器来监听端口 80
不是一个选项,因为
我的家庭 ISP 阻止了 80。

我可以使用监听 80 的公共代理吗?
在 Google 上搜索后,
我发现有一种名为“通过 HTTP 代理连接到 SSH”的方法,可以使用 Cockscrew 软件。

它有用吗?

或者有其他方法可以解决这个问题?

答案1

油灰支持通过 HTTP 代理建立 SSH 隧道。请参阅本指南

答案2

是的,开瓶器很有用。参见本教程

答案3

您不太可能找到任何公开可用的解决方案,但如果您不介意每月支付几美元,您可以相当轻松地为自己设置一个。获得您能找到的最便宜的 VPS 是 WHT VPS 广告区首页上最便宜的报价,如果您搜索得更深入,并且愿意按季度或年度付款,您可能会找到更便宜的报价),请确保未安装任何 Web 服务器,安装 rinetd,并将​​其列在端口 80 上,将连接转发到您的家庭服务器的 SSH 端口。这不需要在客户端或服务器端安装新软件,但需要一台新的外部机器,成本不高。

您的公司防火墙可能不仅仅是阻止端口 - 如果他们使用数据包检查,它可能会阻止您的 SSH 尝试,因为它可以将连接识别为非 HTTP。

根据你希望对 SSH 连接执行的操作,你可以安装类似这个脚本在您的 Web 服务器上。显然,这不允许端口转发等,但对于许多用途来说,这没问题。穿越公司防火墙的流量将是纯 HTTP(S) 连接,因此即使使用数据包检查或其他协议限制技术也应该可以通过,但如果您使用 HTTP 而不是 HTTPS,那么您的流量将不受加密保护,因此您的公司负责人将能够记录 SSH 会话(如果他们愿意的话)。此外,请确保您了解相关的安全问题,正确配置任何此类脚本 - 您不想为任何人打开未经身份验证进入您服务器的路线……

在考虑上述任何一点之前,请仔细考虑这样一个事实:正如其他人所指出的,规避安全措施对您的雇主来说可能是一件非常严重的事情,如果您的行为被发现,您的工作就会受到威胁。

答案4

您可以设置一个在服务器上运行的 SOCKS 代理。它通过 HTTP 隧道传输任何类型的 TCP 连接。不过,您的公司防火墙可能正在寻找这种东西。

@跳我认为您不明白。您在公司网络外部设置代理,并通过防火墙上的端口 80 或 443 连接到它。该代理位于公司网络之外,因此通过该代理进行的连接不受防火墙保护。

相关内容