我遵循创buildAmazon EBS支持的Linux AMI的过程 ,但是我没有closures原始实例,只是让AWS重新启动它。
当我启动并启动一个新实例时,我始终无法通过SSH(或任何方法)连接。 即使重新启动后,我也可以连接到原始实例,而不会出现任何问题。
新实例位于相同的可用区中,在同一个安全组中,并且与原始实例具有相同的密钥对。
我不认为这很重要,但最初的实例是一个m1.medium ,我试图启动一个m1.small 。
我能够解决这个问题,这是两件事情:
/root/.ssh/authorized_keys删除了ec2-user密钥,我认为这阻止了AWS进程完成初始化过程。 当我把ec2-user信息放回去,然后将NFS设置为在启动时不启动时,我能够成功启动并login到一个新的实例。
在Amazon Web Services中仔细检查您的实例的以下设置:
0.0.0.0/0作为目标,您的Internet网关作为目标。 有关更多详细信息,请检查: 连接到您的实例的疑难解答
我的问题是我在Amazon Linux AMI上使用用户ubuntu而不是ec2-user 。 可能会帮助未来的谷歌。
我已经通过创build一个不同的用户帐户解决了这个问题,把~/.ssh/authorized-keys放在用户的HOME目录的~/.ssh/authorized-keys中,然后给这个用户sudo权限。
一旦你这样做,使AMI。 然后,您可以使用给定的公钥始终以该用户身份login到该AMI,无论您是否提供EC2密钥对。