Назад | Перейти на главную страницу

Как установить еще один открытый ключ для EC2

Я хочу изменить свой открытый ключ для всех экземпляров EC2 в AWS.

У меня остался прежний ключ. Пока что я создал новый открытый ключ, но я не знаю, как прикрепить его ко всем экземплярам EC2.

Есть ли способ сделать это, не потеряв ни одного экземпляра?

  1. Создать список всех запущенных экземпляров. Возможно, он у вас уже есть, если нет, вы можете использовать что-то вроде этого:

    aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|select(.State.Name=="running").PrivateIpAddress' > instances.txt
    
  2. Скопируйте новый ключ SSH на все ваши экземпляры:

    for HOST in $(cat instances.txt); do
        ssh-copy-id -i {new-key}.pem ec2-user@${HOST}
    done
    
  3. Проверьте, работает ли ваш новый ключ, а затем вы можете удалить старый из ~ec2-user/.ssh/authorized_keys по каждому экземпляру. Опять же, это можно легко написать с помощью цикла по instances.txt выше.

Надеюсь, это поможет :)