如何在没有公共 IP 的情况下通过 SSH 远程访问我的家庭 Ubuntu 服务器?

如何在没有公共 IP 的情况下通过 SSH 远程访问我的家庭 Ubuntu 服务器?

我尝试寻找答案,但一无所获。我尝试使用 SSH 从另一个 LAN(很远)连接到我的家庭 Ubuntu 服务器。如果有人能告诉我一些有关配置的信息或为我提供正确的资源,我将不胜感激。谢谢。

答案1

通常的方式是注册一个DDNS 服务,该服务的应用程序在您的家庭服务器上运行。

DDNS 服务和应用程序协同工作来更新您的公共 IP 地址(这意味着您的路由器的我们将向您展示如何将 IP 地址 (IP address) 发送到互联网名称服务器。

因此您使用,并且名称服务器为您的路由器和 LAN 提供正确的 IP 地址。ssh [email protected]

  • 有几种免费的 DDNS 服务可用。您最喜欢的搜索引擎会很乐意向您推荐几种。

  • 许多消费级路由器都内置有 DDNS 客户端,因此您无需在服务器上安装任何东西。请检查您的路由器设置。

  • 您仍必须设置转发端口在路由器上连接到 LAN 上的服务器。

答案2

有一项服务叫做https://ngrok.com/它允许您为各种协议设置临时隧道。基本上,您将打开一个 SSH 隧道,连接到要连接的主机上的本地 SSH 服务器;然后,这会将隧道暴露给公共网络。您显然必须在本地连接时执行此操作,但此后,远程访问应该是可能的。

他们的(简短)说明如下:https://ngrok.com/docs/using-ngrok-with#ssh

显然,您必须小心,不要暴露未得到妥善保护的服务,否则将会有访客。

答案3

我不知道这是否会对您有所帮助或是否可以解决您的具体问题,但也许可以帮助其他人,因为我正在寻找同样的问题并在某处找到了这种方法

所以我试过了Teamviewer,以下是详细信息

  • 服务器是Ubuntu Server 22.04,我安装了Teamviewer 主机,你可以找到它这里然后向下滚动到 Teamviewer Host 部分,我之所以使用这个是因为页面上显示“TeamViewer Host 用于全天候访问远程计算机”,如果你问的话,我不确定普通版本,我还没有测试过,无论如何你可以按照这篇文章来安装和设置https://community.teamviewer.com/English/kb/articles/4352-install-teamviewer-on-linux-without-graphical-user-interface
  • 客户端是Windows 11上的Teamviewer,你可以下载它这里,然后使用您在服务器上使用的相同帐户(Teamviewer Host)登录,然后您应该会看到您的服务器列在“计算机和联系人”下,有关更多详细信息,请参见此处截屏

以下是我可以连接到服务器时的结果:截屏

请注意,Teamviewer 是免费的,但仅限非商业和个人使用至少现在,你可以在他们的网站上找到详细信息、限制或其他信息https://www.teamviewer.com/en/

相关内容