我想在AWS上获取AMI的默认用户名。 例如,我需要通过API或CLI获取此图像中显示的用户名。
有什么想法吗?
AWS基础结构不知道 AMI的默认用户名。 它通常是ec2-user ,或ubuntu ,或任何AMI作者认为应该是。 即使在控制台上的消息解释说,这个值本质上只是一个猜测。
另外,取决于AMI的来源,它可以被撤销 – 删除 – 并且从它构build的任何实例将仍然起作用,但是它的属性不能被获取,因为它不再存在。
除此之外,一旦从AMI创build了一个实例,就可以完全控制这个实例了,如果你改变了默认的用户名或者实例的默认SSH密钥,已经改变了它。
AWS有很多控制措施,阻止他们实际查看您的实例。 这就是说,如果它是一个亚马逊ami,那么默认的用户名是ec2-user。 如果ami来自Canonical,那么默认的用户名是ubuntu。 此外,如果您正在寻找Canonical的AMI,请查找拥有者099720109477,例如。 aws ec2 describe-images | grep 099720109477 aws ec2 describe-images | grep 099720109477 ,看看你是什么土地。 您可能能够find或创build一个可用于定制search的所有者ID列表。
看看这个页面也列出了一些默认的用户名 。 正如Eric Hammond所说:“EC2上的每个AMI发行商都决定哪些用户(或多个用户)默认启用ssh访问权限……”。 正如评论中指出的那样,Amazon AWS无法控制创作者的select,也无法通过API提供方式。