两个不同的网络之间可以进行 ssh 吗?

两个不同的网络之间可以进行 ssh 吗?

如何在两个不同的网络之间进行 SSH?提前致谢。以下是所讨论的场景:

  • 我家的电脑IP:192.168.1.106
  • 家庭公网IP:XXX.YYY.ZZZ.254
  • 我的办公室电脑 IP:192.168.10.130
  • 办公室公网IP:XXX.YYY.ZZZ.160

我如何通过 SSH 从192.168.1.106(我的家)到192.168.10.130(办公室)或反之亦然?这可能吗?请帮帮我。

答案1

这是可能的,如果你有转发端口在接收路由器上。例如,如果您想从办公室 ssh 回到家里,您需要先进入家庭路由器设置,并将端口 22 的端口转发设置为家庭网络上的特定 IP 地址和端口号(在您的例子中为端口)192.168.1.10622这样,如果您从办公室执行此操作,您将从路由器重定向到您的家用计算机。ssh [email protected]

端口转发的设置因路由器而异;为了便于理解,请查看如何转发路由器上的端口文章

对于 Office 来说,这可能很难,因为这取决于你的公司,通常 IT 部门会拒绝,但你可能需要问他们

答案2

您需要一个面向公众的端口来连接。

一个好的解决方案是恩格洛克,搜索您想要的“TCP隧道” ngrok tcp 22

它将端口暴露给面向公众的临时域名。 ngrok是免费的,但免费用户在ngrok关闭时会重置其域名。让计算机进入睡眠状态不会关闭ngrok。只要不关闭ngrok,您就应该没问题。

我做的另一个选择是购买主机(域名可选)(我使用 digitalocean 和 namesilo),然后使用锡克用 vpn 连接我的家用电脑、服务器和笔记本电脑,将服务器作为主机,将其他两台电脑作为客户端。然后我ssh连接到我的服务器,然后我就可以ssh连接到我的另一台电脑。

答案3

在路由器上使用端口转发配置示例,所有通过端口 20 到 29 进入的流量都将重定向到具有相同端口的内部 IP 地址。

除此之外,您还可以考虑使用外部动态 DNS 服务,例如dyn.com (以前称为 dyndns.com)或者noip.com

答案4

发生这种情况的原因是零售路由器的默认设置是仅允许 ICMP 并阻止其他(例如 Telnet、SSH、HTTP、HTTPS),尤其是在 GPON 网关上。解决方案可以分为两个步骤,需要在 SSH 服务器的路由器上执行:

  1. 在浏览器中输入 192.168.1.X(X 是路由器的序列号,通常 X=1)。这将打开登录页面。默认密钥和用户名是“admin”。转到安全设置,转到“访问控制”子菜单,并在 WAN(如果您使用 Wifi 通过路由器 SSH 进入目标机器)和 LAN(如果您使用以太网通过路由器 SSH 进入目标机器)下启用 SSH 的“允许”。

  2. 接下来,转到“应用程序设置”并选择“帖子转发”菜单。现在,在浏览器上,您将看到很多字段。其中一个必须是“应用程序”,这是一个下拉菜单,选择 SSH 服务器。接下来,在“Internet 客户端”下拉菜单中,从连接到路由器的设备列表中选择要通过 SSH 进入的设备/机器。单击“添加”。

您可以用这种方式添加多个设备。在这种情况下,您必须从 SSH 客户端明确指定设备。

例如,假设您添加了三个设备:Dev A:192.168.1.2 Dev B:192.168.1.3 Deb C:192.168.1.4

因此,如果您想通过 SSH 进入 Dev B,则必须输入以下命令:

ssh [email protected]

其中AAA.BBB.CCC.XXX是路由器显示的公网IP。

相关内容