查找共享 AMI
可以使用 Amazon EC2 控制台或命令行查找共享 AMI。
查找共享 AMI (控制台)
使用控制台查找共享的私有 AMI
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。
-
在导航窗格中,选择 AMIs。
-
在第一个筛选条件中,选择 Private images。将列出已与您共享的所有 AMI。要细化您的搜索,可选择搜索栏并使用菜单中提供的筛选条件选项。
使用控制台查找共享的公用 AMI
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。
-
在导航窗格中,选择 AMIs。
-
在第一个筛选条件中,选择 Public images。要细化您的搜索,可选择搜索栏并使用菜单中提供的筛选条件选项。
-
使用筛选条件仅列出您需要的 AMI 类型。例如,依次选择 Owner : 和 Amazon images 可仅显示 Amazon 的公有映像。
查找共享 AMI (AWS CLI)
使用 describe-images 命令 (AWS CLI) 可以列出 AMI。可以将该列表范围确定为所需的 AMI 类型,如以下示例所示。
示例:列出所有公用 AMI
以下命令将列出所有公用 AMI,包括您拥有的所有公用 AMI。
aws ec2 describe-images --executable-users all
示例:使用显式启动许可列出 AMI
以下命令列出您对其拥有显式启动许可的 AMI。此列表不包括您拥有的任何 AMI。
aws ec2 describe-images --executable-users self
示例:列出 Amazon 拥有的 AMI
以下命令列出 Amazon 拥有的 AMI。Amazon 的公用 AMI 的拥有者有一个别名,在账户字段中显示为 amazon
。这使您可以轻松地从 Amazon 查找 AMI。其他用户不能对其 AMI 使用别名。
aws ec2 describe-images --owners amazon
示例:列出账户拥有的 AMI
以下命令列出指定 AWS 账户拥有的 AMI。
aws ec2 describe-images --owners
123456789012
示例:使用筛选条件确定 AMI 的范围
要减少显示的 AMI 数量,请使用筛选条件只列出您感兴趣的 AMI 类型。例如,使用以下筛选条件可以只显示 EBS 支持的 AMI。
--filters "Name=root-device-type,Values=ebs"
使用共享 AMI
使用共享 AMI 之前,应执行以下步骤以确认没有预安装证书允许第三方对您的实例进行不希望的访问,并且没有可能将敏感数据传输给第三方的预配置远程登录。查看 AMI 使用的 Linux 发行版的文档以了解有关提高系统安全性的信息。
为了确保您不会在无意中丢失对您的实例的访问,我们建议您启动两个 SSH 会话并将第二个会话保持为打开状态,直到您删除了无法识别的证书并确认您仍可以使用 SSH 登录您的实例。
-
标识并禁用任何未经授权的公有 SSH 密钥。该文件中的唯一密钥应是您用于启动 AMI 的密钥。以下命令查找
authorized_keys
文件:[ec2-user ~]$
sudo find / -name "authorized_keys" -print -exec cat {} \;
-
对根用户禁用基于密码的身份验证。打开
sshd_config
PermitRootLogin
文件并编辑 行,如下所示:PermitRootLogin without-password
或者,您可以禁用以根用户身份登录实例的功能:
PermitRootLogin No
重启 sshd 服务。
-
检查是否有任何其他用户账户能够登录您的实例。具有超级用户权限的账户尤为危险。删除或锁定任何未知账户的密码。
-
检查打开的端口以确认您未在使用和运行侦听传入连接的网络服务。
-
要防止预配置的远程登录,应删除现有配置文件并重启 rsyslog 服务。例如:
[ec2-user ~]$
sudo rm /etc/rsyslog.config
[ec2-user ~]$
sudo service rsyslog restart
-
确认所有 cron 任务是合法的。
如果您发现了认为存在安全风险的公用 AMI,请联系 AWS 安全团队。有关更多信息,请参阅 AWS 安全中心。