SystemdDoctor
служба не работает sshd pam диск

sshd: pam_unix и ошибки открытия сеанса

Если аутентификация проходит, а сеанс не открывается, дело в PAM. Частые причины: нет места на диске, недоступен домашний каталог, сработало ограничение по числу сеансов или по времени.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Нет места на диске

    Открытие сеанса пишет файлы: записи о входе, каталоги времени работы. При заполненном разделе это не проходит.

  2. Домашний каталог отсутствует или недоступен

    Модули PAM создают в нём файлы. Если каталога нет или он на неподмонтированном разделе, сеанс не открывается.

  3. Сработало ограничение модуля PAM

    Модули могут ограничивать число одновременных сеансов, время входа или требовать членства в группе. Отказ приходит именно от них.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Сообщения модулей PAM с именами.

sudo journalctl -u ssh -n 50 --no-pager | grep -i pam

Свободное место на корне и в домашних каталогах.

df -h / /home

Цепочка модулей для ssh.

sudo ls -l /etc/pam.d/sshd

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Нет места на диске
Почему происходит
Открытие сеанса пишет файлы: записи о входе, каталоги времени работы. При заполненном разделе это не проходит.
Как проверить
Посмотрите место и записи в журнале.
df -h /
journalctl -u ssh -n 30 --no-pager | grep -i pam
Как исправить
Освободите место. Это же объясняет, почему вход перестаёт работать «сам по себе» на сервере, который давно не чистили.
2. Домашний каталог отсутствует или недоступен
Почему происходит
Модули PAM создают в нём файлы. Если каталога нет или он на неподмонтированном разделе, сеанс не открывается.
Как проверить
Посмотрите каталог и монтирование.
getent passwd user | cut -d: -f6
ls -ld /home/user; findmnt -T /home
Как исправить
Создайте каталог с правильным владельцем или дождитесь монтирования раздела. Для сетевых домашних каталогов нужна зависимость от монтирования.
3. Сработало ограничение модуля PAM
Почему происходит
Модули могут ограничивать число одновременных сеансов, время входа или требовать членства в группе. Отказ приходит именно от них.
Как проверить
Посмотрите, какой модуль отказал.
sudo journalctl -u ssh -n 40 --no-pager | grep -i -E "pam_|denied"
sudo cat /etc/security/limits.conf | grep -v "^#" | head
Как исправить
Исправьте настройку конкретного модуля. Имя модуля в сообщении журнала — самая полезная часть.

Пример вывода

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

sshd[5300]: pam_unix(sshd:session): session opened for user app(uid=1001) by (uid=0)
sshd[5300]: error: openpty: No space left on device
sshd[5300]: error: session_pty_req: session 0 alloc failed

Связанные ошибки

Где встречается чаще всего

Источники

  • pam(8)
    Модули PAM и открытие сеанса.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено на машине с заполненным корневым разделом.
    собственная проверка, systemd 255
    сверено 15 сентября 2026