![sshd[5589]: ошибка: PAM: pam_open_session(): Невозможно создать/удалить запись для указанного сеанса](https://rvso.com/image/154997/sshd%5B5589%5D%3A%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%3A%20PAM%3A%20pam_open_session()%3A%20%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C%2F%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%20%D0%B4%D0%BB%D1%8F%20%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%B0.png)
Я работаю с минимальной установкой CentOS7. Я настроил pam_radius с помощью pam_script и всегда мог подключаться к серверу по ssh, используя аутентификацию pubkey: это было сделано намеренно. Но после усиления защиты сервера в соответствии сРуководство СТИГ(полное пошаговое руководство можно найтинайдено здесь) Я больше не мог войти в систему по SSH; или, выражаясь более культурно, я входил в систему, а затем меня немедленно выкидывало. Ошибка в файле /var/log/secure гласила:
sshd[5589]: ошибка: PAM: pam_open_session(): Невозможно создать/удалить запись для указанного сеанса
Отключение selinux, как это обычно бывает, решило проблему. Но очевидно, что это не приемлемое решение.
решение1
Некоторые люди, очевидно, примут отключение selinux или установку его в разрешительный режим в качестве ответа; но тогда всегда найдутся несколько язвительных гуру Linux, которые встрянут со словами: «прекратите отключать selinux!» НО ЭТО ВСЕ, ЧТО ОНИ СКАЖУТ! Перестаньте говорить людям «прекратите отключать selinux», ЕСЛИ ВЫ ТАКЖЕ НЕ СКАЖЕТЕ ИМ РЕШЕНИЕ!
Ну, я нашел решение этой проблемы, и поскольку я не мог легко найти его где-либо в Интернете, я выложу его здесь. Я следовал руководству Red Hat,найдено здесь.
Я готов поспорить, что большинство людей не знают об этом инструменте.аудит2разрешить. Это спасение. Я использовал его для простого создания загружаемого модуля selinux, и это решило мою проблему, так что мне не пришлось отключать selinux. Я просто выполнил шаги подключения через SSH во время работыаудит2разрешитьинструмент, затем он автоматически создал модуль. Затем я загрузил модуль, перезагрузился, и все хорошо.
audit2allow -a -M mycertwatch
******************** IMPORTANT ***********************
To make this policy package active, execute:
semodule -i mycertwatch.pp