Всем привет!
Устал бороться с TACACS+.
Что пытаюсь сделать:
* Сервер - сделан руками ИИшки, работает, крутится на виртуальной машине с Линуксом.
* Клиент - взял pam_tacplus.so, "подложил" в свой Линукс, допилил /etc/pam.d/sshd путём добавления трёх строк
отсюда:
auth required pam_tacplus.so server=192.168.0.1 secret=testkey123
Сейчас строка осталась одна, ибо строки про session и account вроде бы не нужны (изначально и они были).
Запускаю Линукс, подключаюсь к нему через ssh (который запускаю в виндовой консоли), ввожу пароль...
(...а ано - ажамбех пашамбе эшельбе шайтанама!)
Судя по логам, всё ок, авторизация прошла. Судя по консоли - disconnect.
В общем, если у вас вдруг есть под руками тот самый файлик sshd из папки /etc/pam.d/ - покажите его, пожалуйста! :) А то у меня уже мозг вскипел.
ЗЫ: Техническических подробностей как бы и нет. Линукс собирается с помощью buildroot и накатывается на одноплатник. Правок, относящихся к авторизации - минимум. В конфиге включен флажок UsePAM в состояние yes, в результате чего в "прошивке" образуется, собственно pam_tacplus.so. В файл sshd добавлена одна строка из начала сего текста. Все три строки из документации тоже пробовал вписать, с тем же результатом. Байтики по сети бегают, логи пишутся, слова а-ля AUTH SUCCESS видны, но логина по ssh не случается (в консоли появляется надпись disconnect и на этом всё). Единственная говорящая ошибка (и она же последняя), которую я вижу в логах выглядит вот так:
Sep 23 10:48:32 olt auth.crit sshd[357]: fatal: PAM: pam_setcred(): Failure setting user credentials
Такое ощущение, что ломается даже не процесс логина, а попытка запустить что-то после логина (честно, не очень понимаю, что делает Линукс после ввода пароля, но наверное запускает bash, создаёт home или что-то такое).
Странность в OpenSSH (от которого, вроде бы, зависит PAM) я нашёл. Он слал вместо пароля INCORRECT. Чтобы этого не происходило, пришлось в /etc/passw добавить пользователя с именем, совпадающем с именем на сервере TACACS.
(Процесс логина в одноплатник происходит из консоли виндовой машины по ssh).
Логи разные снимал, в DeepSeek запихивал, ничего не нашёл. (логов МНОГО и непонятно, что из них вообще имеет смысл сюда копипастить).
В общем, покажите, пжл, свой файлик sshd, подходящий для работы с TACACS+ :)
ЗЗЫ: Мой файлик sshd на данный момент выглядит как-то так (и он не работает):
auth required pam_nologin.so
auth sufficient pam_tacplus.so debug server=192.168.0.1 secret=TestSecret
auth sufficient pam_unix.so debug nullok
auth required pam_deny.so debug
Предполагается, что если залогинится через TACACS не удастся, то будет произведена попытка залогинится локально (каким-нибудь root).
ЗЗЗЫ: То есть, в процессе участвуют три машинки: одноплатник с Линуксом, виндовая машина с ssh клиентом, и Линукс с TACACS сервером в виртуалке и "базой данных пользователей".