Могу ли я использовать SSH в своем экземпляре сервера Amazon EC2, если у меня нет файла.pem с момента создания экземпляра?
Я работаю с некоторыми запущенными и работающими серверами Amazon EC2, и мне нужно подключиться по SSH к серверам. У меня нет ключей, сгенерированных при первой настройке серверов (кто-то другой сделал это задолго до того, как я сюда попал). Могу ли я попасть на серверы без файлов ключей?
FWIW Я уже много чего пробовал в SSH, включая создание новых пар ключей на приборной панели EC2, и, похоже, ничего не работает. Этот пост поддержки Amazon AWS и этот ответ, кажется, указывают на то, что мне не повезло, если я не хочу создать AMI для моего текущего сервера, а затем использовать его для создания экземпляра всего нового экземпляра сервера EC2 (просто для создания файла.pem. в это время). Это действительно единственный способ, которым я могу попасть в коробку в этот момент?!
1 ответ
Короче говоря: да, но не без работы.
Вам нужно будет сделать следующее:
(Для этих шагов предположим, что компьютер, к которому у вас возникают проблемы с подключением, называется server-01.)
Прежде чем приступить к выполнению этих шагов, сделайте снимок вашего сервера.
- Начать новый, временный экземпляр. Назовите это server-02.
- Стоп сервер-01. Не прекращай это, просто прекрати это.
- Отключить рут (
/
) Том EBS с сервера-01 и присоедините его к серверу-02, как, скажем,/dev/sdb
, - Войдите на сервер-02 и запустите:
$ mkdir /mnt/temp && mount /dev/sdb /mnt/temp
, Это смонтирует корневой раздел сервера-01 внутри (временного) сервера-02. - Теперь вы должны быть в состоянии:
$ vi /home/<user>/.ssh/authorized_keys
и скопируйте / вставьте в ваш открытый ключ. Когда вы это сделаете, сохраните и закройте файл. - Теперь запустите:
$ cd / && umount /mnt/temp
размонтировать корневой раздел server-01 от server-02. - Теперь просто отсоедините этот том от сервера-02, подключите его обратно к серверу-01 и запустите сервер-01. Когда он запустится, вы сможете снова войти в систему.
Просто совет, прежде чем кто-либо попробует ответ EEAA,
Если вы не запустили iptables save
или же iptables-save
Команда, чтобы сохранить ваши конфигурации, а затем просто перезагрузите сервер. Ссылаясь на этот ответ на AskUbuntu, я узнал, что iptables
сохраняет ваши конфигурации в самой оперативной памяти, если вы явно не сохраните их в файлах конфигурации.
Экземпляры EC2 можно легко перезагрузить с панели инструментов EC2 или aws-cli