如何从代理防火墙后面的计算机通过 SSH 连接到外部服务器?

如何从代理防火墙后面的计算机通过 SSH 连接到外部服务器?

我通过大学的 HTTP 代理防火墙访问互联网。我需要通过 SSH 登录到我们网络之外的计算机。我尝试将其作为 Linux 命令,并在 Windows 上使用 PuTTY。我还将 PuTTY 配置为使用我们服务器的地址。但仍然弹出“代理错误:403 禁止”。他们一定阻止了对外部系统的 SSH 访问。(大学系统可访问)。

我可以通过 SSH 连接学院的 Web 服务器(不是代理服务器),我使用它通过隧道进行无代理浏览。现在这台服务器允许浏览受限制的网站,但仍然没有 SSH。

请问有什么解决方法吗?

答案1

可能是代理仅允许访问 HTTP/HTTPS 端口(80 或 443)。我通过将 SSH 服务器更改为在端口 443 上列出来解决了这个问题。这使得我必须通过的代理允许连接,但是如果您无法更改 SSH 服务器,那么您可能运气不佳。

答案2

如果您可以绕过 Web 代理,那么您可以通过隧道 SSH 绕过 SSH:

ssh -L 55555:remote-computer-to-ssh-to:22 login@webserver

一旦完成:

ssh -oPort=55555 remote-login@localhost

这将为您提供到 Web 服务器的 SSH 隧道,然后将您的 SSH 流量转发到远程机器。

答案3

@blahdiblah 据我所知,他的问题不是通过 SSH 连接到本地网络服务器,而是通过 SSH 连接到他的网络。

如果他们阻止了到端口 22 的传出连接,那么无论他从哪里尝试 SSH,都会被阻止。除非防火墙设置为允许 Web 服务器在端口 22 上发起传出连接,但我对此表示怀疑。

我的看法是,正如 shf301 所说,您需要将 SSH 服务器上的端口更改为他们不会阻止的端口,例如 443 或 80,然后您必须通过 SSH 连接到 websrver,然后从那里通过 ssh 连接到您的外部服务器。

让我们知道你是如何修复它的。

祝你好运。

相关内容