如何列出分配给运行AWS EC2实例的密钥对

问题描述:

如何检查允许哪些密钥对用于连接到运行Amazon EC2实例?如何列出分配给运行AWS EC2实例的密钥对

我可以看到控制台内的实例本身以及密钥对列表。不幸的是,这个特定的例子不是由我创建的,我没有创建者的私钥。

感谢

您可以查看名称与Amazon EC2实例相关联的密钥对。但是,如果您没有私钥对,则无法访问该实例。

事实上,有几点要澄清这一点:

  • Linux实例由亚马逊提供的AMI推出的私有密钥被复制到/home/ec2-user/.ssh/authorized_keys文件。此文件的内容稍后可以更改,因此在该文件中定义了密钥对的任何用户都可以登录为ec2-user。您还可以创建其他Linux用户并为其添加authorized_keys。
  • 当从亚马逊提供的AMI启动Windows实例时,会为Administrator用户生成一个随机密码。密码使用指定密钥对的公共一半进行加密,然后可以使用密钥对的私有一半进行解密。使用正常的Windows命令可以更改密码,在这种情况下,解密的密钥对不再有效。

最糟糕的情况是,如果您无法登录实例,您可以访问磁盘并更改密码/密钥对。在线帮助页面可以帮助完成此任务,但它需要AWS权限来管理EBS磁盘。

顺便说一句,以上所有都与操作系统有关。 Amazon EC2不控制对操作系统的访问,但在第一次引导时配置实例的AMI上有一些脚本。

底线:第一次启动实例时需要显示的密钥对。如果您已经递交了一个现有的实例,则无法知道如何在未被告知或查看配置的情况下进行登录。