为什么我无法通过 SSH 进入从我生成的 AMI 创建的新 EC2 实例?

为什么我无法通过 SSH 进入从我生成的 AMI 创建的新 EC2 实例?

我遵循了以下程序创建由 Amazon EBS 支持的 Linux AMI除了我没有关闭原始实例,只是让 AWS 重新启动它之外。

当我启动并启动新实例时,我总是无法通过 SSH(或任何方法)连接。我可以毫无问题地连接到原始实例,即使在重新启动后也是如此。

新实例与原始实例位于同一可用区域、同一安全组,并具有相同的密钥对。

我认为这并不重要,但原始实例是一个m1.medium,而我正尝试启动一个m1.small

答案1

我已经修复了这个问题,主要有两点:

  1. 我已经删除了我认为阻止 AWS 进程完成初始化过程ec2-user的密钥。/root/.ssh/authorized_keys
  2. NFS 服务似乎在启动时挂起了。

当我将ec2-user信息放回去,然后将 NFS 设置为不在启动时启动时,我能够成功启动并登录到新实例。

答案2

双重检查亚马逊网络服务您的实例的以下设置:

  • 安全组例如允许入站SSH 访问(查看:查看规则)。
  • 对于 VPC 实例,检查其附件路由表应该有0.0.0.0/0目的地和你的互联网网关作为目标。
  • 仔细检查你的路线信息系统日志联网实例的。

欲了解更多详情,请查看:排除实例连接故障

答案3

我的问题是,我使用的是用户,ubuntu而不是ec2-userAmazon Linux AMI。可能会对未来的谷歌员工有所帮助。

答案4

我通过创建不同的用户帐户、将公钥放在~/.ssh/authorized-keys该用户的 HOME 目录中并授予该用户 sudo 访问权限来解决这个问题。

完成此操作后,创建 AMI。然后,无论是否向 EC2 提供密钥对,您都可以始终使用给定的公钥以该用户身份登录该 AMI。

相关内容