通过栓 android phone ssh 到 AWS EC2 服务器

ssh through tethered android phone to AWS EC2 server

免责声明:我不知道这是实际问题,我只是怀疑是。

我已经将 Amazon Web Services EC2 实例设置为远程 git 服务器。我不得不将它配置为只接受来自单个 IP 地址的传入流量,尽管我想让它对所有人开放,因为我将在旅行时使用它。

这里的问题是移动 phone 不能有静态 IP 地址,我将使用我的 android phone 连接到我的笔记本电脑来访问服务器。这意味着在通过 ssh 连接到服务器之前,我必须制定一个新规则来接受来自我当前 IP 地址的流量。

设置此规则时,可以选择使用 "My IP Address"。 Amazon 会自动检查我当前的 IP 地址并将其设置在规则中。它看起来像 123.123.123.123/32。 “/32”部分是地址的实际结尾。

在家中测试服务器时,我可以使用静态 IP 通过家庭网络从台式计算机访问服务器。通过家庭网络从我的笔记本电脑访问服务器同样没有问题。然后,我将我的 phone 连接到我的笔记本电脑,并尝试通过蜂窝网络访问服务器,同时家庭静态 IP 地址规则仍然存在。正如预期的那样,连接没有建立,因为 phone 被分配了一个不同的 IP 地址。

但是......然后我出去在一个不错的地方编码了一天并尝试连接到服务器但它不起作用。我进入我的 EC2 控制台并设置了一个新规则,使用 automagic "My IP Address" 设置接受来自我当前 IP 地址的流量通过我的 tethered phone。然后尝试通过 ssh 连接到服务器。不开心。

未建立连接。就像我最初测试尝试从规则中未指定的 IP 地址访问时一样超时。

所以我认为它与端口有关。那是上面的“/32”吗?还是我搞砸了?

我该怎么做才能收集更多信息来帮助确定这里的实际问题是什么?

找一个 Android VPN 提供商,它会向您出售每次使用的静态 IP。这可能是一种使用静态 IP 作为安全措施的方法。如果 VPN 提供商也在 PC 上提供服务,您可以将两者设置为相同的 IP。如果你真的雄心勃勃,你可以在你的虚拟机上设置一个 VPN 服务,然后将它配置为仅排除来自它自身的通过 SSH 的连接。您必须调整 "security group" 以排除 VPS 从任何地方连接。第二种方法意味着您不需要两个静态地址来增加安全层。

我在 AWS 中连接到 Postgres 数据库时遇到了同样的问题。这是我为解决该问题所做的工作:

  1. 我开服给大家0.0.0.0/0
  2. 我进入服务器并确定了它试图连接的我的实际 IP 地址。
  3. 返回并使用该 IP 地址修复我的规则。

我自动填充的 IP 地址与实际 IP 地址不同。