通过 Internet 从另一台设备使用 SSH 访问设备

通过 Internet 从另一台设备使用 SSH 访问设备

我想运行一个 Raspberry Pi,我想在其上登录ssh并连接到我的路由器。然后我想从另一个 RPi 访问它,该 RPi 连接到另一个具有物理(和网络)距离的路由器。

我想我需要

  • RP 和路由器的静态 IP。
  • ssh在两个 RP 上。
  • 某种程度稳定的互联网连接和路由器。

我是不是忘记了什么?

如何设置这个?
如何为我的 RPi 提供静态 IP 地址?

答案1

获得静态私人的IP 地址完全位于 RPi 与其路由器之间。

例如,您可以将路由器配置为通过 MAC 地址识别 RPi(在确保 RPi 操作系统上的任何 MAC 地址随机化功能关闭后...通常有线连接默认情况下不会随机化 MAC 地址,但 WiFi 连接可能会)并始终为其分配一个特定的私有IP。

或者,如果您的路由器提供特定的私有子网(例如 192.168.1.0/24,即可用地址 192.168.1.1 ... 192.168.1.254),但仅在其中的某些子网上使用 DHCP(例如 DHCP 提供从 192.168.1.10 到 192.168.1.127 的服务) )然后您可以从 DHCP 范围之外但在子网内(例如 192.168.1.200)选择一个地址,并将其配置为 RPi 作为静态 IP 地址。

您的其余问题基本上是询问一般的家庭网络建议,而不是针对 Unix 或 Linux 的。严格来说,这不是 Unix&Linux.SE 的主题。但我要说的是:

  • 您不需要出站ssh连接方面的任何特定内容。
  • 您需要入站连接端的互联网提供商ssh不使用运营商级 NAT (CGNAT) 并且不对所有入站连接设置防火墙。
  • 获得真正的静态 IP 往往需要付费,并且对于家庭消费者互联网连接而言并不总是可行。但你真的不需要静止的入站 SSH 连接端路由器的公共 IP,但是已知的公共IP。如果公共 IP 是非静态的(与消费级互联网连接一样),则使用动态域名解析服务为其分配静态 DNS 名称通常比获取静态 IP 地址便宜,然后您就可以通过 DNS 名称进行连接,即使 IP 地址会有所不同。有时您甚至可能会找到适合您所在地区的免费动态 DNS 服务。
  • 在入站 SSH 连接一侧,路由器需要一个转发端口配置:从路由器的互联网端,您选择的 TCP 端口需要转发到目标 RPi 的静态专用 IP。

答案2

您能详细说明一下您的用例吗?

如果您想在设备之间发送少量数据 - 您可以使用一些免费的云 MQTT 提供商,两个设备只需连接到它即可。您不必使用固定IP

如果您想要 SSH 访问并且如果您的设备已连接到互联网,您可以与它们建立 VPN 连接并通过 SSH 或 Web 远程控制台访问它们。

有很多工具可以实现这一点,其中一些是免费使用的。

我建议研究一下: https://qbee.io/- 2 台设备免费文档:

https://jfrog.com/connect/- 免费试用文档:https://jfrog.com/connect/post/what-is-remote-ssh-a-guide-by-the-upswift-team/

对于这两种工具来说,NAT 都不是问题。 VPN 是从设备发起到云端的,因此如果需要入站连接,您可以关闭 22 端口。

作为这两种工具的额外好处,您还可以获得监控等功能。

相关内容