如何克服被阻止的 SSH 尝试

如何克服被阻止的 SSH 尝试

我正在尝试从图书馆通过 SSH 连接到远程大学机器,但收到错误消息:

ssh: connect to host remote.machine.edu port 22: Connection refused

我之前曾发布过有关此问题的帖子,并且我也与网络管理员讨论过尝试更改端口。

系统管理员说:

我已经让它监听端口 2222,但是看起来该端口在更上游被阻塞了。

他说他会尝试想出解决办法,但目前似乎还没有解决方案。

有人向我建议通过端口 443 进行 SSH。如果 22 或 2222 不起作用,那么 443 能起作用吗?

如果有任何其他解决方案也将不胜感激。

(机器没有停机)。


澄清:

  • 当我通过 SSH 连接到除库之外的所有远程机器时,使用默认端口(根据库错误消息,我猜是 22),它工作正常。

  • 我不知道系统管理员为什么说他让它监听端口 2222。我猜想这意味着他正在尝试与库中失败的 22 不同的其他操作。(因为如果总是 2222,我将永远无法 ssh)。无论如何,他说看起来上游已经封锁了它。

  • 我应该让他尝试监听 443 端口吗?

  • 有没有其他方法可以解决这个问题?

答案1

你的系统管理员看起来有点困惑。我猜他把 SSH 服务器所在电脑上的公用端口 22 转发到了本地端口 2222,但这与问题无关。

如果您可以从图书馆以外的任何地方使用 SSH,那么问题就出在图书馆。如果您使用的是图书馆计算机或网络服务器,那么他们的防火墙一定阻止了 SSH。图书馆可能正在使用付费软件或私人数据,他们不想将这些数据复制到其他地方。

一个解决方案是不使用图书馆网络。如果你有其他可以在图书馆使用的网络或计算机。

否则,使用防火墙从未阻止的端口(例如用于 HTTPS 的 443)将让您绕过限制。 但这需要大学系统管理员的配合

具体来说,系统管理员必须将大学路由器上的公共端口 443 转发到 SSH 服务器上的本地端口 22(或 2222?)。

他能否做到这一点取决于同一路由器是否也接受同一公共 IP 地址的 HTTPS URL 查询。这意味着同一台计算机同时承载着 SSH 服务器和 Web 服务器。

如果是这种情况,则端口 443 已被占用。同一个端口不能被两台服务器用于两种用途。在这种情况下,您还需要联系图书馆的网络管理员,并尝试找到另一个未被阻止的端口。然后,您需要说服大学管理员在他的防火墙中打开该端口并将其转发到 SSH 服务器上的端口 22(2222?)。

这变得越来越复杂。如果问题出在传递文件上,那么将文件复制到笔记本电脑或 USB 密钥上并从图书馆外部通过 SSH 传输可能会更简单。同样,这只有在图书馆没有安装任何安全措施来阻止此类操作以保护其专有数据的情况下才有可能。

如果您需要 SSH 用于传递文件以外的其他目的,并且除了使用图书馆计算机或网络之外没有其他解决方案,则需要联系图书馆防火墙管理员寻求解决方案。

答案2

看起来图书馆阻止了端口22( SSH) 上的流量。端口443( HTTPS) 可能没有被阻止,否则图书馆网络的用户将无法以安全的方式浏览网页。如果这个假设是正确的,最简单的解决方案就是将 SSH 服务器的列表端口更改为443

如果这不可能(例如因为 Web 服务器与 SSH 服务器并行运行并且已经在监听端口443),您可以利用另一个监听端口的 SSH 服务器443作为中间跳跃,如下所述这里

无论你选择哪种解决方案,都会绕过图书馆网络运营商制定的一项规定。因此,为了避免麻烦,我建议你先查阅图书馆的使用条款。

相关内容