通过 SSH 连接到具有共享公共 IP 且没有路由器管理权限的计算机

通过 SSH 连接到具有共享公共 IP 且没有路由器管理权限的计算机

我住在学生宿舍(校外),宿舍里的所有学生都共用同一个 WAN IP(互联网或公共 IP),幸运的是,这个 IP 是静态的。我不是管理员,无法控制为所有学生分配私有 IP 的路由器,所以我无法将端口 22 转发到我的电脑。

我还能从校园里的计算机与宿舍计算机建立 SSH 连接吗?

答案1

如果你有互联网上的另一个Linux机器,那么你可以从宿舍连接到它,并设置一个反向 SSH 隧道。然后,当你离开宿舍时,连接到那个盒子并通过隧道回到你的宿舍机器。

您可能需要一个便宜的 shell 帐户,或者让朋友帮您在他们的盒子上注册一个帐户。或者,您可能在学校有一个 shell 帐户,可用于此目的。

为了保持 ssh 隧道处于活动状态,请参阅此问题

答案2

真正的答案是向当地网络管理员寻求帮助,而不是试图绕过他们对网络施加的限制。

答案3

如果你无法控制“路由器”(实际上是一个 NAT 盒),那么如果它设置为尊重 UPnP 请求,也许您可​​以使用它来告诉它为您打开一个传入端口。

否则,您将必须从某处具有真实 IP 的其他机器建立隧道。

答案4

或者你也可以无需 IP 公共即可访问你的计算机的 SSH shell通过在您想要远程访问 SSH 的计算机上安装 robotito,可以从桌面或智能手机(例如 Android)进行。

  • 这将允许您在任何地方使用 Google Talk 客户端应用程序访问 SSH。
  • 无需公共 IP 地址或特殊设置。
  • 它是免费和开源的,不再支付任何应用服务。
  • 无需开启SSH端口(保持你的电脑安全)
  • 无需打开任何隧道(例如 VPN 或类似的东西)

我编写了一个脚本(在 Raspberry Pi 上的 raspbian 操作系统上进行了测试),以便您可以轻松地在 Raspberry Pi、Debian 或 Ubuntu Box(debian 软件包分发版)上安装 robotito。这是让您的 Linux 机器可远程控制的步骤:

  1. 打开 Shell 命令或者您可以称之为终端,转到您的主文件夹,通过命令下载安装程序脚本:

    $wget https://opengateway.googlecode.com/files/robotito

  2. 然后通过输入命令运行脚本:

    $sudo ./robotito

  3. 然后,如果 robotito 使用 gtalk 帐户,则可以从 config 文件夹中编辑文件 credentials.rb ,然后按 ctrl+x 和 y 保存。默认使用 nano 编辑器。

  4. 通过命令从 robotito 文件夹运行 robotito

    $cd robotito

    $./jabbershd start

  5. 现在已完成,您可以从任何 google talk 客户端使用 ssh,请不要忘记将 robotito gtalk 帐户添加到您的 google talk 帐户,并在使用该帐户之前通过聊天进行测试。

相关内容