我在 work.com 上有一个 apache 服务器,它只允许通过常用端口 80 和 443 传入 HTTP 和 HTTPS 请求。这些是网络上唯一开放的端口。
我希望在家时能够通过 SSH 进入服务器,但 IT 拒绝打开端口 22。
有没有办法配置 apache 以接受地址 ssh.work.com 上的 SSH 流量并将其转发到端口 80 上的 sshd?
答案1
有安全组以此目的。
答案2
答案3
看本指南使用开瓶器
答案4
首先,如果您要尝试在非标准端口上运行 ssh 以打破本地 IT 政策(我认为这些政策是错误的),则使用 443 而不是 80 是正常的。这是因为 http 通常由组织代理;这种代理通常是透明的,因此很难判断它是否正在发生。相比之下,HTTPS 是端到端加密的,通常无法代理,因此大多数组织要么不费心,要么将代理配置为简单的直通。这使得 TCP/443 成为非标准 ssh 比 TCP/80 更安全的选择。我注意到,Joschi 建议使用 sslh,旨在与 https 共存,而不是与 http 共存。
尽管如此,据我所知,ssh 不支持任何类型的虚拟主机名支持,因此如果解析到已经在 TCP/443 上运行真实 Apache 侦听器的 IP 地址,则使用 ssh.work.com 将不起作用。但是,如果您在工作机器上有一个可用于此目的的公共 IP 地址,则可以将 sshd 配置为在端口 443 上运行,方法是
Port 443
然后sshd_config
只需使用标志将远程 ssh 客户端指向您的 ip 地址即可-p 443
。
如果您不能为此腾出一个 IP 地址,那么 sslh 就是您的最佳选择。