Забыли пароль на экземпляре EC2 SELinux
Как видно из названия, у меня есть экземпляр SELinux на EC2, который я давно не использовал. Я не смог получить к нему доступ через ssh с момента его запуска. В прошлом я обращался к нему с этой машины, и в AWS настроена группа безопасности, которая разрешает доступ по ssh.
Я вообще не могу войти в систему, поэтому все мои исправления были ограничены тем, что я могу сделать, подключив корневой том к новому экземпляру EC2 и выполнив все, что смогу, таким образом.
Вот что я пробовал до сих пор:
1) Пробовал копировать мой ключ ssh в файл author_keys пользователя ssh. Запрос пароля все еще отображается, когда я пытаюсь использовать SSH.
2) Проверено, что у sshd_config есть PasswordAuthentication no
3) Использовал chroot, чтобы установить подключенный том как root, а затем сбросить пароль пользователя, с которым я пытаюсь войти. Там нет ошибки из-за этого, но новый пароль не работает в приглашении через ssh.
4) Нет пароля для ключа ssh, который я использую, так что это не то, что мне предлагают.
5) Снова используя chroot, я попытался использовать команду 'restorecon' в папке.ssh для данного пользователя.
6) Убедитесь, что в каталоге пользователя.ssh установлены разрешения 700, а в файле.ssh/authorized_keys установлены права доступа 600
Пока что до сих пор нет радости. Что еще я могу попробовать?
2 ответа
Один гоча с sshd не пропустит кого-либо через authorized_keys, если только для authorized_keys и каталога.ssh нет правильных разрешений:
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys
(Замените имя пользователя на имя пользователя SSH)
Кроме того, ошибки входа в систему ssh регистрируются в /var/log/secure (возможно, в другом файле, если вы используете что-то кроме клона RedHat), поэтому поиск в файле ошибок входа в систему ssh поможет устранить неполадки и решить эту проблему.
Оказывается, атрибуты SELinux были плохими. Я должен был смонтировать диск в другой экземпляр, изменить принудительное значение =0 в /etc/selinux/config
а затем перемонтировать и загрузить без SELinux, затем мне пришлось перемаркировать всю файловую систему (по крайней мере, я решил после перемаркировки группы вручную и поиска еще большего), выполнив touch /.autorelabel
а затем еще одна перезагрузка.