以下是我的设置:我在路由器后面有一个树莓派。我为树莓派设置了一个静态内部 IP 地址。我配置了 SSH 配置文件和所有我目前喜欢的东西。我有一个每 2 分钟运行一次的 contab,如果外部 IP 地址发生变化,它会给我发送电子邮件。然后我在个人路由器上进行了端口转发,这样如果我通过 SSH 连接到路由器,它就会将其转发到树莓派。(在网络内部,一切都运行良好。
不过我遇到了一些问题。我住在一个公寓大楼里,我们与其他 4 个房间共享一个外部 IP 地址。因此,当我尝试通过路由器从外部进行 SSH 连接时,它不知道该去哪里,因为我们有一个共享的 IP 地址。我不知道如何处理这种情况。
目前我正在使用编织的 SSH 进入我的树莓派(我认为它就像一个反向 SSH 隧道?)但我的帐户只允许 30 分钟的会话,所以每次登录时我都必须使用 TMUX 或 SCREEN,这并不可怕。
我只是想知道是否有办法使用公寓大楼的共享 IP 地址来实现这一点。非常感谢!
答案1
回答这个问题
因此,当我尝试通过路由器从外部进行 SSH 连接时,它不知道该去哪里,因为我们有一个共享的 IP 地址。我不知道如何处理这种情况。
您需要在共享 IP 地址上分配一个特定端口,以便端口转发到 Raspberry Pi 的端口 22。具体操作取决于路由器/防火墙。但您可以ssh sha.red.ip.addr 8022
让防火墙将您重定向到 Pi 的端口 22。
答案2
我终于意识到发生了什么。所以我公寓里的设置从我的树莓派 -> 我的路由器 -> 公寓自己的路由器/交换机 -> 互联网。所以我发现我无法端口转发传入流量,因为传入流量首先到达我公寓的个人路由器/交换机,然后才到达我自己的路由器!我无法访问这个,所以我开始使用 ngrok,它工作得很好。它建立了一个反向 ssh 隧道,这样我就可以从外面 ssh 到我的树莓派。如果我可以访问公寓的路由系统,那么我就可以设置端口转发。