首页 > 解决方案 > create-ami 命令是否支持 EBS 支持的实例的 sshkey?

问题描述

AMI 由 AWS 提供

在下面的命令中,我们使用以下命令创建一个 ec2 实例SOME_OLD_AMI

export EC2_INSTANCE_ID=$(aws ec2 run-instances --image-id ${SOME_OLD_AMI} --key-name ${SOMEKEY}

然后停止它:

aws ec2 stop-instances --instance-ids ${EC2_INSTANCE_ID} --region ${REGION}


现在,我们正在使用这个停止的实例自定义一个 ami:

       aws ec2 create-image --instance-id ${EC2_INSTANCE_ID} --name ${SOME_NEW_AMI} --description "xyz"

SOME_NEW_AMI我们可以使用私钥( ) SSH EC2 实例(使用启动SOMEKEY)吗?因为 ssh 密钥被分配给EC2_INSTANCE_ID....

标签: amazon-web-servicesamazon-ec2sshamazon-ami

解决方案


是的。

如果 AMI 由 AWS 提供,则实例上安装了一些软件,该软件将获取期间指定的密钥RunInstances()并将其添加到/home/ec2-user/.ssh/authorized_keys文件中。然后,这允许您使用密钥对的私有部分登录。

如果使用此实例的 AMI,则密钥对将保留在authorized_keys文件中。

接下来,如果使用该 AMI 启动新实例,则可以通过 传递另一个密钥对RunInstances(),但旧密钥对仍然存在并且可以使用。

所以:

  • 使用密钥对 1 启动的实例 1:可以使用Keypair 1
  • 从实例 1 创建的 AMI
  • 从 AMI 启动的实例 2,指定密钥对 2:可以使用 Keypair 1Keypair 2

推荐阅读