Я хочу изменить свой открытый ключ для всех экземпляров EC2 в AWS.
У меня остался прежний ключ. Пока что я создал новый открытый ключ, но я не знаю, как прикрепить его ко всем экземплярам EC2.
Есть ли способ сделать это, не потеряв ни одного экземпляра?
Создать список всех запущенных экземпляров. Возможно, он у вас уже есть, если нет, вы можете использовать что-то вроде этого:
aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|select(.State.Name=="running").PrivateIpAddress' > instances.txt
Скопируйте новый ключ SSH на все ваши экземпляры:
for HOST in $(cat instances.txt); do
ssh-copy-id -i {new-key}.pem ec2-user@${HOST}
done
Проверьте, работает ли ваш новый ключ, а затем вы можете удалить старый из ~ec2-user/.ssh/authorized_keys
по каждому экземпляру. Опять же, это можно легко написать с помощью цикла по instances.txt
выше.
Надеюсь, это поможет :)