Я хочу реализовать вход в мой сервис vpn с паролем + google_otp.freeradius в качестве сервера авторизации и ldap в качестве backend_database.
Я выполнил следующую работу:
- включил модуль аутентификации pam в / etc / raddb / sites-enabled / default
- добавьте строку "DEFAULT Auth-Type: = PAM" в / etc / raddb / users
- включите модуль ldap и добавьте сайт ldap в freeradis, я подтверждаю, что raidus использует базу данных ldap, работает правильно.
- Перезаписать содержимое /etc/pam.d/radiusd
auth requisite pam_google_authenticator.so secret=/tmp/.google_authenticator user=root forward_pass
auth required pam_unix.so use_first_pass
выполнить test cmd: (testpa - это мой пароль, 271082 - это otp)
radtest perlingzhao testpa271082 localhost 1812 testing123
радиус журнала:
(0) [pap] = noop
(0) } # authorize = updated
(0) Found Auth-Type = pam
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) authenticate {
(0) pam: Using pamauth string "radiusd" for pam.conf lookup
(0) pam: ERROR: pam_authenticate failed: User not known to the underlying authentication module
(0) [pam] = reject
(0) } # authenticate = reject
(0) Failed to authenticate the user
(0) Using Post-Auth-Type Reject
войти в систему / var / log / secure:
radiusd(pam_google_authenticator)[11728]: Accepted google_authenticator for perlingzhao
pam_unix(radiusd:auth): check pass; user unknown
pam_unix(radiusd:auth): authentication failure; logname=root uid=0 euid=0 tty= ruser= rhost=
Я знаю, что это потому, что нет локального пользователя, информация о пользователе находится в ldap.
Кто-нибудь может мне помочь, подскажите, как можно решить эту проблему, спасибо.