使用 SSH 实现“中间相遇”

sti*_*eta 5 ssh remote-access

我有一个关于 SSH 的有趣问题。我在学校有一台机器,我希望能够从其他地方访问它。它位于防火墙/NAT 后面,所以我无法直接了解它。我有一个租用的 Web 服务器,我可以从任何地方通过 SSH 连接到它。我想知道我是否可以通过端口转发做一些伏都教来通过网络服务器到达我在学校的机器。我认为这归结为您是否可以“向后”执行 SSH,这可能或不可能。

基本上:
机器 A 可以访问机器 B
机器 C 也可以访问机器 B
机器 A 如何访问机器 C?

Kar*_*zak 5

至于“向后”SSH在类似情况下使用了一段时间的反向远程外壳

但在这里,有些事情要先弄清楚:

  1. 您需要什么样的访问权限?我们是在谈论SSH还是你的意思是别的?
  2. 这个Web 服务器( B ) 怎么样?它是否可以直接访问目的地(C)而没有问题(这在A 中是不可能)?还是只是源机器(A)的未知/动态IP的问题?

我认为在标准情况下,您可以不受限制地从C启动传出连接,并且所有新的入站流量都会被过滤,对吗?

更新:

在这种情况下,您可以使用反向远程 ShellC(学校)连接到B(SSH 帐户)。然后通过 SSH从A (home)登录到B获取对C的反向控制台访问。此外,它应该适用于几乎所有配置。

主要缺点:

  1. 它只是 SSH 以及当您可以本地访问C时可以执行的操作。
  2. 您暗中信任B(您的会话不会被盗)。

这有点麻烦。为此使用SSH 端口转发会容易得多,但有时会被大学/学校阻止(至少根据我的经验)。请看看您是否可以在您的情况下使用它。那么一个更简单、更优雅的解决方案应该是可能的。