Восстановление пары ключей Amazon EC2 - PullRequest
64 голосов
/ 06 октября 2010

Мне нужно знать любой способ доступа к работающему экземпляру в Amazon EC2.

  • У меня нет оригинальной пары ключей ".pem"
  • У меня действительно есть доступ к консоли управления aws
  • Завершение / перезагрузка невозможна

самым близким к моему вопросу, который я нашел, был этот , но я надеюсь, что с тех пор все изменилось.

есть ли способ загрузить этот файл pem или назначить новую пару ключей?

Ответы [ 4 ]

53 голосов
/ 17 декабря 2010

Пары ключей можно загрузить только один раз из Amazon, предположительно из соображений безопасности. Что вы можете сделать, так это назначить один из ваших Elastic IP-адресов экземпляру и перенаправить трафик через него в обычном режиме. Сделайте снимок экземпляра и создайте дубликат с новой парой ключей. Переключите Elastic IP на новый экземпляр. Это не особенно элегантно, но гораздо меньше времени простоя, чем полное отключение.

Примечание. Если вы назначите Elastic IP-адрес экземпляру, он переопределит текущий общедоступный IP-адрес, поэтому вам также необходимо будет обновить DNS.

10 голосов
/ 26 января 2012

На самом деле вы можете назначить новую пару ключей ТОЛЬКО если вы остановите экземпляр, отсоедините корневой раздел (обычно / dev / sda1) и присоедините его к другому экземпляру.После этого у вас будет доступ к /home/ubuntu/.ssh/authorized_keys.Вы можете создать новый ключ .pem через командную строку и вставить его в этот файл.Затем вы отсоединяете этот раздел и повторно присоединяете к исходному экземпляру.Используйте новый сгенерированный ключ для подключения к нему.

Подробнее об этих шагах вы можете узнать в Google или здесь: http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html

4 голосов
/ 06 марта 2012

Когда вы настраиваете свой AMI в будущем, настройте cloud-init.При загрузке это сбрасывает пользовательские данные и обрабатывает их соответствующим образом.Поэтому, когда AMI остановлен, вы можете вставить что-то вроде следующего в поле данных пользователя:

mkdir -p /root/.ssh/

cat > /root/.ssh/keyname.pub <<EOF_PUB
ssh-rsa yourkeydata== keyname@wherever
EOF_PUB

cat /root/.ssh/keyname.pub >> /root/.ssh/authorized_keys;

Опять же, если ваши пакеты cloud-init не установлены и работают, это будет неэффективно.Мне не раз приходилось восстанавливать заблокированные AMI от разработчиков, которые не сохраняют свои ключи.Это находка.

0 голосов
/ 27 мая 2013

Вы можете перейти на панель инструментов EC2, щелкнуть «X Key Pair» (X - число), «Создать пару ключей». Поэтому дайте ему имя, и появится возможность загрузить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...