尽管有入站规则,但仍无法访问新的 EC2 实例

尽管有入站规则,但仍无法访问新的 EC2 实例

我在论坛上看到 EC2 实例变化无常,但这是我对这个问题的看法。这是我第一次使用 AWS,我一直在严格按照教程操作(我认为)。但是,我尝试连接实例的每一次尝试(ssh、http、ping、Java SSH 客户端)都失败了。

实例状态

  1. 我在启动时分配一个具有以下权限的安全组:来自我的 IP 的 ssh、来自任何地方的 http 和 https,以及自定义 IMTP/Echo 请求。
  2. 分配的 IAM 角色授予对 Kinesis 的完全访问权限,但没有其他访问权限(不确定是否会影响任何内容)。
  3. 它是一个 ubuntu t2.micro。
  4. 它已经运行了一个小时了。
  5. 系统日志的最新行是‘[ip-address] login: ’。

迄今为止的尝试:

  1. 一个基本的 ssh,从“连接”窗口复制并在与我的 pem 相同的文件夹中运行。失败并出现“连接被拒绝”错误。
  2. Telnet。同样会失败并出现“连接被拒绝”错误。
  3. Ping。请求超时。
  4. Java SSH 客户端(在 Firefox 中运行)。“启动”按钮不起作用。
  5. 创建一个相同的实例,但使用新的 .pem 文件(以防我的原始文件有问题)。没有解决任何问题。

我突然陷入了沮丧和绝望的境地。还有什么想法我还可以尝试吗?很高兴提供有关此事的任何其他有用信息;我对 AWS 不够熟悉,不知道我是否遗漏了一些关键信息。谢谢你的帮助!

答案1

如果您想通过 SSH 进入您的 EC2 实例,则必须确保以下事项:

  1. 您的 VPC 是否连接有互联网网关?
  2. VPC 的主路由表是否有一条通过上述问题 1 中的互联网网关到互联网[0.0.0.0/0]的路径?
  3. 您的 EC2 实例是否有公共 IP 地址?
  4. 您说您已允许端口 22 上的 SSH 入站并将其限制为您的 IP 地址。您的计算机是否带有静态 IP 地址?如果没有,您可能希望允许 SSH 到 0.0.0.0/0 或考虑使用 OpenVPN 安全地连接到您的 EC2 实例

答案2

有几件事。

1)确保您的安全组具有允许所有 0.0.0.0/0 的出口规则

2) 可能是您的路由表混乱了。任何具有公共 IP 的东西都会通过互联网网关路由。因此,请检查部署实例的子网的路由表。

答案3

感谢你们两位的帮助!我将把 Abishay 的答案标记为正确,因为它为我指明了正确的解决方案。最终发生的事情是,我意识到我的计算机有额外的安全设置,阻止我 ssh 到 EC2。当我切换到另一台限制较少的计算机时,我能够毫无问题地 ssh 到 EC2。

TLDR:问题不是我的 EC2 阻止了传入连接,而是我的计算机阻止了传出连接。

相关内容