AWS - 从 CLI 获取 AMI 默认用户名

AWS - 从 CLI 获取 AMI 默认用户名

我想获取 AWS 上 AMI 的默认用户名。例如,我需要通过 API 或 CLI 获取此图像中框中显示的用户名。

有什么想法吗?在此处输入图片描述

答案1

AWS 基础设施没有知道AMI 的默认用户名。它通常是ec2-user、 或ubuntu,或者 AMI 作者决定的任何名称。甚至控制台上的消息也解释说,这个值本质上只是一个猜测。

此外,根据 AMI 的来源,它可以被撤回(删除),并且从中构建的任何实例仍将运行,但其属性无法获取,因为它不再存在。

除此之外,一旦您从 AMI 创建了实例,您就拥有完全控制权,并且如果您更改该默认用户名(或者实例的默认 SSH 密钥),AWS 平台根本不知道您已经对其进行了更改。

答案2

AWS 有很多控制措施,可以防止他们实际查看您的实例。也就是说,如果它是 amazon ami,则默认用户名是 ec2-user。如果 ami 来自 Canonical,则默认用户名是 ubuntu。此外,如果您正在寻找来自 Canonical 的 AMI,请查找所有者 099720109477,例如。aws ec2 describe-images | grep 099720109477看看它会给你带来什么。您可能能够找到或创建一个所有者 ID 列表,您可以使用它来定制您的搜索。

请查看此页面,其中列出了默认用户名的数量。正如 Eric Hammond 在那里所说的:“EC2 上的每个 AMI 发布者都决定哪些用户(或哪些用户)应该默认启用 ssh 访问权限...”。正如评论中所指出的那样,Amazon AWS 无法控制创建者选择的内容,也无法通过 api 提供。

相关内容