Поддерживает ли команда create-ami sshkey экземпляра, поддерживаемого EBS?

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"

Можем ли мы запустить экземпляр EC2 по ssh (запущенный с помощью SOME_NEW_AMI) с помощью закрытого ключа (SOMEKEY)? потому что ключ ssh был назначен EC2_INSTANCE_ID....


person overexchange    schedule 16.01.2020    source источник


Ответы (1)


да.

Если AMI предоставляется AWS, то на экземпляре установлено некоторое программное обеспечение, которое возьмет ключ, назначенный во время RunInstances(), и добавит его в файл /home/ec2-user/.ssh/authorized_keys. Затем это позволяет вам войти в систему, используя приватную половину пары ключей.

Если для этого экземпляра будет взят AMI, то пара ключей останется в файле authorized_keys.

Затем, если с этим AMI запускается новый экземпляр, через RunInstances() можно передать другую пару ключей, но старая пара ключей останется и может быть использована.

So:

  • Экземпляр 1 запущен с ключевой парой 1: можно подключиться с помощью Keypair 1
  • AMI, созданный из экземпляра 1
  • Экземпляр 2 запущен из AMI с указанием пары ключей 2: можно подключиться, используя либо Keypair 1, либо Keypair 2
person John Rotenstein    schedule 16.01.2020
comment
Это происходит путем указания пары ключей при запуске экземпляра из AMI. Вы не обязаны указывать пару ключей при запуске экземпляра. Если при запуске экземпляра из AMI не указана пара ключей, то для подключения можно использовать только Keypair 1. - person John Rotenstein; 16.01.2020