Сброс пароля сервера Linux EC2
Невозможно войти на сервер EC2 ubuntu из-за проблемы с разрешением.
Проблема: на моем сервере EC2 ubuntu есть пользователь (root и ubuntu), и я использую его для входа в ubuntu с помощью ssh. По ошибке я изменил владельца домашнего каталога Ubuntu на root, а также отозвал все права доступа к каталогу для другого пользователя. Таким образом, домашний каталог пользователя (Ubuntu) имеет только разрешение RWX для root и никого другого. Теперь я не могу войти в ubuntu по SSH. Я предоставил файл .pem, но на этот раз я получаю запрос пароля независимо от файла .pem. Кажется, я напортачил.
Что пробовал:
- Пытался войти в систему с правами root с помощью ssh (не разрешено)
- Пытался войти в ubuntu с помощью ssh (спрашиваю пароль, потому что я считаю, что проблема с разрешением)
- Пытался взломать. Был запущен Wordpress, поэтому я поставил оболочку поверх сервера с помощью администратора. Я получил обратную оболочку, но не могу повысить привилегии для получения root.
Я буду очень признателен, если вы поможете мне войти на мой сервер / сбросить пароль / способ входа с панели инструментов AWS / или любым другим способом.
Ответы
Ой!
Такое случается, но это хороший урок, чтобы быть более осторожным с доступом. Если вы полностью потеряли доступ, тогда варианты, доступные вам, почти наверняка будут включать выключение виртуальной машины ... Вы не можете оправиться от этого со 100% временем безотказной работы.
Если это был локальный компьютер, вы могли бы извлечь жесткий диск, вставить его на другую машину и сбросить пароль с другой машины. Несмотря на то, что это виртуальная машина, принцип аналогичен. Здесь есть решение аналогичной проблемы:https://stackoverflow.com/a/11776183/453851
Основной принцип заключается в том, что виртуальная машина EC2 использует «тома» в качестве жестких дисков. С помощью консоли AWS вы можете:
- выключи свою виртуальную машину
- отсоединить том
- создать новую виртуальную машину (с собственным томом)
- загрузить новую виртуальную машину
- прикрепите старый том к новой виртуальной машине (как второй том)
Затем войдите в новую виртуальную машину и:
- смонтировать старый том (на
/mnt/) chrootв смонтированную файловую систему (chroot /mnt/ /bin/bash). Это даст вам командную строку, которая будет вести себя так, как если бы она работала внутри вашей старой виртуальной машины.- Измените любой пароль с помощью
passwd - неисправность
Наконец, снова в консоли AWS:
- отсоединить старый том
- подключите его к старой виртуальной машине
- загрузить старый vm
- полностью удалить новую виртуальную машину (ВНИМАТЕЛЬНО УДАЛИТЬ ПРАВИЛЬНУЮ)