Поддерживает ли команда create-ami sshkey поддерживаемого EBS экземпляра? - PullRequest
0 голосов
/ 16 января 2020

AMI предоставляется AWS

В приведенной ниже команде мы создаем экземпляр ec2 с использованием SOME_OLD_AMI:

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

и затем останавливаем it:

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


Теперь мы настраиваем ами с этим остановленным экземпляром:

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

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

1 Ответ

3 голосов
/ 16 января 2020

Да.

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

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

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

Итак:

  • Экземпляр 1 запущен с Keypair 1: Можно подключиться с использованием Keypair 1
  • AMI, созданного из экземпляра 1
  • Экземпляр 2 запущен из AMI, указав Keypair 2: Можно подключиться с помощью или Keypair 1 или Keypair 2
...