Я установил и настроил сервер radius на своем локальном хосте - он делегирует аутентификацию удаленному серверу LDAP.
Сначала все выглядит хорошо: я могу протестировать через консоль:
# export user=skemp
# export pass=xxx
# radtest $user $pass localhost 1812 $secret
Sending Access-Request of id 185 to 127.0.0.1 port 1812
User-Name = "skemp"
User-Password = "xxx"
NAS-IP-Address = 192.168.1.168
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=185,
Точно так же я могу использовать инструмент входа в систему, чтобы сделать то же самое:
bash-4.0# /usr/libexec/auth/login_radius -d -s login $user radius
Password: $pass
authorize
Однако удаленный вход через SSH не работает, как и вызовы «входа в систему», запущенные пользователем root. Глядя на /var/log/radiusd.log, я не вижу фактического журнала успехов / неудач, которые я вижу при использовании любого из предыдущих инструментов.
Вместо этого sshd просто регистрирует:
sshd[23938]: Failed publickey for skemp from 192.168.1.9
sshd[23938]: Failed keyboard-interactive for skemp from 192.168.1.9 port 36259 ssh2
sshd[23938]: Failed password for skemp from 192.168.1.9 port 36259 ssh2
В /etc/login.conf у меня есть это:
# Default allowed authentication styles
auth-defaults:auth=radius:
...
radius:\
:auth=radius:\
:radius-server=localhost:\
:radius-port=1812:\
:radius-timeout=1:\
:radius-retries=5:
У меня были аналогичные проблемы с настройкой OpenBSD для проверки подлинности на сервере ldap. Единственный способ заставить его работать - это добавить пользователя в локальную базу данных, например.
useradd -s / bin / ksh -L ldap новый_пользователь
В вашем случае это будет что-то вроде
useradd -s / bin / ksh -L радиус новый_пользователь2
Однако, поскольку вам нужно вручную создать запись пользователя для каждой машины, использующей ldap для аутентификации, это подорвет потребность в централизованном сервере аутентификации ldap. У меня тоже нет идей.