SSH не работает после обновления до U.

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

Я обновил своих рабочих с Ubuntu 20.04 до 24.04, где мое SSH-соединение работало, как ожидалось. Без каких-либо изменений SSH не удается с следующей ошибкой.

На стороне сервера:

Доступ запрещен для пользователя конфигурацией учетной записи PAM

На стороне клиента:

отправить пакет: тип 50
соединение закрыто <IP> порт 22

Логи даже не доходят до получения пакета. Оно закрывается до этого.
Сервер принимает ключи, так что это не проблема. Я пробовал возиться с файлами конфигурации sshd_config, но безуспешно. Есть ли какие-либо изменения в отношении конфигураций SSH или PAM, из-за которых SSH больше не работает?

Я попробовал все, что мог найти в интернете, и потратил слишком много времени. Установка UsePam в значение “no” не является тем, что я хотел бы сделать.

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

Обновление операционных систем и сервисов зачастую связано с изменениями, которые могут повлиять на привычные процессы и настройки. Рассмотрим проблему отказа SSH после перехода с Ubuntu 20.04 на 24.04, уделяя внимание изменившимся аспектам конфигурации и возможным решениям, с учетом специфики сообщения об ошибке.

Теория

Скорее всего, проблема связана с изменениями в системе аутентификации PAM (Pluggable Authentication Modules), которые были внесены в обновленной версии Ubuntu. Ошибка “Access denied for user by PAM account configuration” на стороне сервера четко указывает на конфликт в конфигурации PAM, что обусловлено различиями в управлении учетными записями пользователя в новой версии.

PAM — это гибкий механизм аутентификации, позволяющий системным администраторам настраивать различные схемы аутентификации для пользователей. В старых и новых версиях операционных систем, зачастую, появляются изменения в файлах конфигурации PAM — такой как /etc/pam.d/sshd — которые могут требовать дополнительных настроек или внимания.

Пример

Приведем краткий пример, как изменения в PAM могут повлиять на аутентификацию. В старых версиях конфигурационный файл /etc/pam.d/sshd мог содержать настройки, которые отлично работали в Ubuntu 20.04. Однако после обновления до 24.04 некоторые модули PAM могли измениться или получить новые значения по умолчанию, что могло повлиять на работу целевой конфигурации SSH. Например, модуль pam_access.so может теперь требовать дополнительных прав доступа или специфичных групп пользователей для успешного логина, из-за чего пользователи могут начать получать отказ от входа, подобный описанному случаю.

Применение

Чтобы диагностировать и исправить данную проблему, предложим следующий последовательный алгоритм действий:

  1. Проверка логов: Изучите логи SSH и PAM. В логах SSH, находящихся по адресу /var/log/auth.log, вы сможете найти более подробную информацию об отказах в аутентификации. Возможно, лог фраз архитектурного изменения в PAM будет включать файлы, которые нужно зачитать и интерпретировать.

  2. Конфигурация PAM: Проверьте и отредактируйте файл конфигурации /etc/pam.d/sshd. Убедитесь, что в нем отсутствуют специфические ограничения на учетные записи пользователей, либо включены все необходимые модули (например, pam_unix.so, pam_access.so, и т.д.), корректно сконфигурированы и не блокируют доступ.

  3. Группы и права доступа: Удостоверьтесь, что учетные записи, используемые для SSH входа, подлежат правилам групп доступа и им предоставлены соответствующие права. Например, в старых конфигурациях системный администратор мог настроить ограничения через файл /etc/security/access.conf. Проверьте, что этот файл поддерживает текущую схему аутентификации.

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

  5. Получение обновлений и исправление багов: Проверьте наличие обновлений системы безопасности и пакетов. Новая версия Ubuntu могла получить исправления, которые решают этот конфликт.

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

  7. Проблема с SELinux: Хотя Ubuntu по умолчанию не использует SELinux, проблема может возникнуть в случае его активации. Если SELinux активен, его контексты могут ограничивать доступ к SSH.

  8. Дополнительные модули безопасности: Проверьте сторонние модули, которые могли повлиять на аутентификации, такие как firewall или fail2ban.

Следуя вышеописанным шагам, вы можете устранять проблему отказа SSH после обновления ОС. Необходимо помнить, что каждое изменение может требовать перезапуска службы SSH, поэтому не забудьте выполнить команду sudo systemctl restart sshd. Систематический подход к изучению и устранению проблемно работающей конфигурации ведет к успешному решению задач и надежной работы удаленной аутентификации в системах Linux.

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

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