Могу ли я использовать SSH в своем экземпляре сервера Amazon EC2, если у меня нет файла.pem с момента создания экземпляра?

Я работаю с некоторыми запущенными и работающими серверами Amazon EC2, и мне нужно подключиться по SSH к серверам. У меня нет ключей, сгенерированных при первой настройке серверов (кто-то другой сделал это задолго до того, как я сюда попал). Могу ли я попасть на серверы без файлов ключей?

FWIW Я уже много чего пробовал в SSH, включая создание новых пар ключей на приборной панели EC2, и, похоже, ничего не работает. Этот пост поддержки Amazon AWS и этот ответ, кажется, указывают на то, что мне не повезло, если я не хочу создать AMI для моего текущего сервера, а затем использовать его для создания экземпляра всего нового экземпляра сервера EC2 (просто для создания файла.pem. в это время). Это действительно единственный способ, которым я могу попасть в коробку в этот момент?!

1 ответ

Решение

Короче говоря: да, но не без работы.

Вам нужно будет сделать следующее:

(Для этих шагов предположим, что компьютер, к которому у вас возникают проблемы с подключением, называется server-01.)

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

  1. Начать новый, временный экземпляр. Назовите это server-02.
  2. Стоп сервер-01. Не прекращай это, просто прекрати это.
  3. Отключить рут (/) Том EBS с сервера-01 и присоедините его к серверу-02, как, скажем, /dev/sdb,
  4. Войдите на сервер-02 и запустите: $ mkdir /mnt/temp && mount /dev/sdb /mnt/temp, Это смонтирует корневой раздел сервера-01 внутри (временного) сервера-02.
  5. Теперь вы должны быть в состоянии: $ vi /home/<user>/.ssh/authorized_keys и скопируйте / вставьте в ваш открытый ключ. Когда вы это сделаете, сохраните и закройте файл.
  6. Теперь запустите: $ cd / && umount /mnt/temp размонтировать корневой раздел server-01 от server-02.
  7. Теперь просто отсоедините этот том от сервера-02, подключите его обратно к серверу-01 и запустите сервер-01. Когда он запустится, вы сможете снова войти в систему.

Просто совет, прежде чем кто-либо попробует ответ EEAA,

Если вы не запустили iptables save или же iptables-save Команда, чтобы сохранить ваши конфигурации, а затем просто перезагрузите сервер. Ссылаясь на этот ответ на AskUbuntu, я узнал, что iptables сохраняет ваши конфигурации в самой оперативной памяти, если вы явно не сохраните их в файлах конфигурации.

Экземпляры EC2 можно легко перезагрузить с панели инструментов EC2 или aws-cli

Другие вопросы по тегам