Не удалось запустить демон сервера OpenSSH, что предотвращает загрузку CentOS 8.

Вопрос или проблема

Я попытался разрешить группе пользователей “студенты” использовать вход по паролю через ssh, добавив строки:

Match Group students
    PasswordAuthentication yes

в конец файла /etc/ssh/sshd_config.

Затем, так как сервер работал уже около 3 недель, я решил выполнить полное yum update и перезагрузить систему.

С этого момента он перестал загружаться.

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

Нажимая ctrl-alt-F2, я вижу зацикленный

A start job is running for Hold until boot process finishes up (x/no limit)

Через некоторое время это сообщает:

[FAILED] Failed to start OpenSSH server daemon.

и цикл начинается снова. См. изображение для полного примера.

Я загрузился в режим одиночного пользователя и отменил свои изменения в конфигурационном файле, проблема осталась.

(Чтобы уменьшить возможные ошибки, я подключил монитор к встроенной графике, а не к графическому процессору nVidia, так как подозреваю, что также может быть проблема с драйверами GPU, так как при подключении к GPU я вместо этого получал экран “упс, появилась проблема”.)

ОБНОВЛЕНИЕ:

Выяснилось, что SELinux не позволял sshd читать sshd_config, из-за чего возникал цикл. Запуск restorecon на sshd_config не исправил проблему, поэтому я отключил SELinux.

Теперь процесс загрузки зависает на одной бесконечной задаче запуска при загрузке в Runlevel 5. Я подозреваю, что это связано с драйверами GPU, так как система по-прежнему зависает с экраном “упс”, когда монитор подключен к GPU, встроенная графика работает лучше.

На этом моменте у меня закончилось время на решение проблемы. Поскольку эта машина является бесголовым вычислительным сервером, я просто загружаюсь в Runlevel 3, который, похоже, работает нормально. Я переустановил последние драйверы nVidia, но это не изменило ситуацию.

Даже программы, требующие CUDA, похоже, работают правильно, так что я считаю это достаточно хорошим в отсутствии каких-либо дальнейших советов от сообщества.

введите описание изображения здесь

Я предлагаю загрузиться в режим восстановления, чтобы

  1. отменить изменения
  2. изучить журналы sshd, чтобы понять, в чем может быть проблема

Нажатие control + alt + del во время загрузки системы должно вызвать ее плавную перезагрузку, так как systemd должен перехватывать это нажатие клавиши.

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

Проблема оказалась связана с тем, что SELinux не позволял sshd прочитать sshd_conf. Несмотря на все мои попытки сбросить разрешения и разрешить чтение, мне это никогда не удавалось.

В интересах “время – деньги” я отключил SELinux. Теперь sshd может правильно читать sshd_conf, так что машина загружается в многопользовательский режим нормально, и можно удаленно подключиться через ssh.

Мне так и не удалось исправить загрузку в графическую среду. Я думаю, что проблема здесь не связана. Поскольку эта машина является бесголовым исследовательским сервером, я не углублялся дальше в это.

Ответ или решение

Проблема с неудачным запуском демона OpenSSH на CentOS 8, которая возникла после изменения конфигурации sshd и обновления системы, может быть вызвана несколькими факторами. Разберем основные моменты и возможные пути решения.

Описание проблемы

После внесения изменений в файл /etc/ssh/sshd_config, позволяющих группе пользователей "students" использовать аутентификацию по паролю, и последующего обновления системы с помощью yum update, вы столкнулись с проблемами загрузки сервера. В процессе загрузки система застревает на сообщении о том, что не удалось запустить демон OpenSSH, и выводится сообщение о задержке в загрузке.

Первые шаги к устранению неисправностей

  1. Режим однопользовательской загрузки (Single User Mode):

    • Перезагрузите сервер и войдите в режим однопользовательской загрузки. Это можно сделать, добавив в параметры загрузки (GRUB) systemd.unit=rescue.target.
    • После загрузки введите команду для редактирования файла конфигурации SSH:
      nano /etc/ssh/sshd_config
    • Убедитесь, что строки Match Group students и PasswordAuthentication yes правильно добавлены в файл и не конфликтуют с другими настройками.
  2. Проверка настроек SELinux:

    • Как вы уже заметили, SELinux мог блокировать доступ демона SSH к файлу конфигурации. Чтобы диагностировать это, выполните:
      ausearch -m avc -ts recent
    • Если там есть записи о том, что доступ к sshd_config был заблокирован, вы можете восстановить контекст SELinux с помощью:
      restorecon -v /etc/ssh/sshd_config
    • Если это не сработает, временно можно отключить SELinux командой:
      setenforce 0
  3. Логи sshd:

    • Проверьте логи SSH для получения более подробной информации о проблеме:
      journalctl -xe | grep sshd

Решения

  • Если у вас не получается восстановить права доступа и устранить ошибки SELinux, временное решение состоит в том, чтобы отключить SELinux, как вы и сделали. Это следует рассматривать как временную меру, так как отключение SELinux может снизить безопасность системы.

  • Если после этого вы столкнулись с проблемами при загрузке в графическую среду, синхронизируйтесь с последними обновлениями драйверов NVIDIA. Возможно, они требуют дополнительной настройки или проверки зависимости.

    Убедитесь, что у вас установлены необходимые программные пакеты для работы системы с графической оболочкой. Например:

    dnf groupinstall "Graphical Desktop"

Итог

На данном этапе вы смогли восстановить доступ к серверу в режиме многопользовательской работы (Runlevel 3) и обеспечить возможность подключения по SSH. Важно продолжить исследование проблем с графическим интерфейсом, если такая функция будет необходима в будущем. Вместе с тем, рекомендуется периодически проверять обновления и настройки SELinux, чтобы повысить уровень безопасности сервера.

Оцените материал
Добавить комментарий

Капча загружается...