create-ami 命令是否支持 EBS 支持实例的 sshkey?
Does create-ami command support sshkey of EBS backed instance?
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
.....
是的。
如果 AMI 由 AWS 提供,则实例上安装了一些软件,这些软件将获取 RunInstances()
期间指定的密钥并将其添加到 /home/ec2-user/.ssh/authorized_keys
文件中。然后,这允许您使用密钥对的私有部分登录。
如果此实例采用 AMI,则密钥对将保留在 authorized_keys
文件中。
接下来,如果使用该 AMI 启动新实例,则可以通过 RunInstances()
传递另一个密钥对,但旧密钥对仍将存在并可以使用。
所以:
- 使用密钥对 1 启动的实例 1: 可以使用
Keypair 1
连接
- 从实例 1 创建的 AMI
- 实例 2 从 AMI 启动,指定密钥对 2: 可以使用
Keypair 1
或 Keypair 2
连接
AMI 由 AWS 提供
在下面的命令中,我们使用 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"
我们可以使用私钥(SOMEKEY
)ssh EC2 实例(使用SOME_NEW_AMI
启动)吗?因为 ssh 密钥已分配给 EC2_INSTANCE_ID
.....
是的。
如果 AMI 由 AWS 提供,则实例上安装了一些软件,这些软件将获取 RunInstances()
期间指定的密钥并将其添加到 /home/ec2-user/.ssh/authorized_keys
文件中。然后,这允许您使用密钥对的私有部分登录。
如果此实例采用 AMI,则密钥对将保留在 authorized_keys
文件中。
接下来,如果使用该 AMI 启动新实例,则可以通过 RunInstances()
传递另一个密钥对,但旧密钥对仍将存在并可以使用。
所以:
- 使用密钥对 1 启动的实例 1: 可以使用
Keypair 1
连接
- 从实例 1 创建的 AMI
- 实例 2 从 AMI 启动,指定密钥对 2: 可以使用
Keypair 1
或Keypair 2
连接