【问题标题】:Does create-ami command support sshkey of EBS backed instance?create-ami 命令是否支持 EBS 支持的实例的 sshkey?
【发布时间】:2020-05-02 21:34:50
【问题描述】:

AMI 由 AWS 提供

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

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"

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 ssh amazon-ami


    【解决方案1】:

    是的。

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

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

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

    所以:

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

    【讨论】:

    • 它是通过在从 AMI 启动实例时指定密钥对来实现的。启动实例时无需指定密钥对。如果从 AMI 启动实例时未指定密钥对,则只能使用 Keypair 1 进行连接。
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 2023-03-13
    相关资源
    最近更新 更多