Я отключил вход с правами root на экземпляре AWS EC2. Сразу после установки PermitRootLogin no и перезапуска sshd я случайно закрыл терминал - перед настройкой пользователей с привилегиями sudo. В результате мой ключ для доступа к экземпляру с правами root не работает (sshd запрещает это), и когда я вхожу в экземпляр с помощью обычного пользователя, я не могу получить права root (пароль root никогда не устанавливался). Экземпляр работает под управлением ubuntu 8.10. Кто-нибудь знает, как я могу это исправить?
Нет, не прекращайте работу экземпляра, еще не все потеряно !!
P.S. в следующий раз попробуй Userify управлять ключами ваших пользователей :)
Не обнаружив уязвимости, единственный способ получить root-доступ на Linux-машине - это загрузиться в однопользовательском режиме и сбросить пароль. Однако у вас нет доступа на уровне KVM к инстансу EC2, поэтому это невозможно.
Вам нужно будет завершить этот экземпляр EC2 и запустить другой. Но отключение входа в систему с правами root противоречит общей парадигме EC2. Amazon предлагает вам предоставить открытый ключ во время запуска инстанса и установить сценарий инициализации в /root/.ssh/authorized_keys, при этом sshd настроен на «PermitRootLogin без пароля» для принудительного входа только пары ключей. Таким образом, вы никогда не сможете случайно заблокировать свою учетную запись root (при условии, что вы не потеряете свой закрытый ключ).
В будущем я предлагаю вам создать пользователя с доступом sudo, а затем начать сеанс «экрана», как только вы войдете в систему, чтобы отключение не остановило / не остановило вашу работу. После настройки и установки приложения объедините, загрузите и объедините свой AMI, чтобы при необходимости можно было запускать новые экземпляры.
Сохранен ли у вас AMI с любыми изменениями, которые вы внесли в свой экземпляр перед отключением входа в систему с правами root? Если нет, вам придется вернуться к базовому AMI, с которого вы начали, и создать новый экземпляр EC2.
Один из способов сделать это - найти локальные уязвимости в вашей системе, которые могут предоставить вам корневую оболочку. Получите список программного обеспечения, которое установлено в коробке, и укажите каждое из них в Google / securityfocus.