从外部网络 ssh 到机器

从外部网络 ssh 到机器

我已连接到家中的 WiFi 路由器,并且想要连接到连接到另一个 WiFi 路由器的另一台计算机。 WiFi 路由器有公共 IP 地址。

我想通过 ssh 进入计算机,而不是通过 TeamViewer/AnyDesk 连接。我尝试使用 ngrok,但它不允许我通过 ssh 连接到机器。

是否有任何 GitHub 存储库可以用于此目的?

答案1

我假设你的机器上运行着 ssh 客户端和服务器,所以你的问题不存在。

因为您没有提供太多信息,所以我还会假设您的问题是网络配置问题(如丹尼尔·马歇尔在他的评论中建议)而不是软件问题:


通常,wifi路由器与两个不同的网络一起工作,一个是具有您的公共IP的网络,另一个是具有私有IP的网络,您的所有设备都连接到该网络(这取决于您的公司,但通常这些IP是这样的192.168.xy 或 10.0.xy)

当您的计算机想要连接到外部站点(即,连接到不属于您的专用网络的IP)时,您的路由器将您的数据包从专用网络“传输”到公共网络,但稍微改变数据包(基本上,它将您的私有 IP 更改为其公共 IP)。这样做,允许外部站点将数据包发送回您的路由器。

当您的路由器通过其公共接口接收数据包时,它会根据一些内部数据和指标确定该数据包应发送到何处(如果需要信息,请查找 NAT),并将数据包从公共接口传输到您的专用网络(再次,更改数据包的一些详细信息,例如目标 IP)。

你要做的就是连接到路由器的公共接口(通过 ssh 到公共 IP),然后路由器应该将数据包传输到你的机器。问题是,在这种情况下,您需要帮助路由器进行传输,因为它没有足够的信息来说明如何处理 ssh 包。

为此,最简单的方法是使用端口转发(同样,如丹尼尔·马歇尔前)。这意味着您应该进入路由器的配置,并将其配置为“嘿,所有到达端口号 22 的公共接口的数据包,您应该将它们传输到我的私有 IP”。

配置过程取决于您的路由器型号。在谷歌上寻找它,因为那里有大量的手册。


您可能遇到的其他问题是您无法修改路由器配置(也许使用反向隧道您可以做到这一点),或者数千个其他不同的问题,但我们需要更多信息来帮助您。

相关内容