LINUX.ORG.RU
ФорумAdmin

OpenVPN + Google Authenticator

 , ,


0

2

Господа, нужна ваша помощь.

Имею сервер на Debian 9, 4.9.0-4-amd64 OpenVPN 2.4.0, и google-authenticator-libpam, который сначала ставил из репов, а потом собирал из сорцов.

Прикрутил одно к другому следующим способом:

server.conf

plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so /etc/pam.d/openvpn

/etc/pam.d/openvpn (полное содержание без комментариев)

account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
account requisite                       pam_deny.so
account required                        pam_permit.so
auth requisite /usr/local/lib/security/pam_google_authenticator.so secret=/var/gauth/${USER} user=gauth echo_verification_code debug
account required /lib/x86_64-linux-gnu/security/pam_permit.so

В auth.log я вижу следующее:

Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: start of google_authenticator for "client1"
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: Secret file permissions are 0600. Allowed permissions are 0600
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: "/var/gauth/client1" read
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: shared secret in "/var/gauth/client1" processed
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: Invalid verification code for client1
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: "/var/gauth/client1" written
Nov  4 02:16:37 srv1 openvpn(pam_google_authenticator)[19950]: debug: end of google_authenticator for "client1". Result: Authentication failure

В клиенте в качестве логина я использую client1, и пароль - шестизначный код из аутентификатора.

Клиент - Tunnelblick 3.7.8beta01 (build 5160)

Что я делаю не так?

Ответ на: комментарий от zgen

Конечно. Прежде, чем писать - я пропахал гугл и мануалы либы с аутентификатором. Эту ссылку внимательно читал, увы пользы от неё нет в данной ситуации.

Впрочем, спасибо за попытку, но я нашёл в чём проблема.

/etc/pam.d/openvpn должен содержать это:

auth required /lib/x86_64-linux-gnu/security/pam_google_authenticator.so secret=/var/gauth/${USER} user=gauth forward_pass
account required /lib/x86_64-linux-gnu/security/pam_permit.so

При использовании библиотеки собранной из исходников - путь к ней будет другой. В общем, всё заработало.

tommytnt
() автор топика
Последнее исправление: tommytnt (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.