Я настраивал OpenVPN и успешно могу проходить аутентификацию, используя только аутентификацию на основе сертификатов. Однако теперь я хочу реализовать аутентификацию по имени пользователя и паролю. Кажется, что многие из руководств и статей, и даже статья поддержки OpenVPN предоставляют ограниченную информацию о том, как этого добиться.
До сих пор я смог успешно добавить следующую строку в /etc/openvpn/server.conf
plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so login
Я также добавил следующую строку в файл client.ovpn
:
auth-user-pass
Теперь, когда я пытаюсь подключиться к серверу OpenVPN, я использую комбинацию имени пользователя и passsord, которая на самом деле является действительным пользователем в системе Ubuntu. Тем не менее, это дает мне ошибку AUTH_FAILED.
Вот вывод из терминальной консоли на клиенте.
[subzero:~/Documents]$ sudo openvpn client.ovpn 6:54PM/05.17
Password:
Thu May 17 18:54:37 2018 OpenVPN 2.4.6 x86_64-apple-darwin17.5.0 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [MH/RECVDA] [AEAD] built on May 1 2018
Thu May 17 18:54:37 2018 library versions: OpenSSL 1.0.2o 27 Mar 2018, LZO 2.10
Enter Auth Username:scorpion
Enter Auth Password:
Thu May 17 18:54:41 2018 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Thu May 17 18:54:41 2018 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA256' for HMAC authentication
Thu May 17 18:54:41 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]-obfuscated-:443
Thu May 17 18:54:41 2018 Socket Buffers: R=[131072->131072] S=[131072->131072]
Thu May 17 18:54:41 2018 Attempting to establish TCP connection with [AF_INET]-obfuscated-:443 [nonblock]
Thu May 17 18:54:42 2018 TCP connection established with [AF_INET]-obfuscated-:443
Thu May 17 18:54:42 2018 TCP_CLIENT link local: (not bound)
Thu May 17 18:54:42 2018 TCP_CLIENT link remote: [AF_INET]-obfuscated-:443
Thu May 17 18:54:42 2018 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Thu May 17 18:54:42 2018 TLS: Initial packet from [AF_INET]-obfuscated-:443, sid=3fc66f55 900ecb50
Thu May 17 18:54:42 2018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Thu May 17 18:54:42 2018 VERIFY OK: depth=1, C=US, ST=LA, L=New Orleans, O=-obfuscated-, OU=XYZ, CN=-obfuscated-, name=obfuscated, emailAddress=-obfuscated-
Thu May 17 18:54:42 2018 VERIFY KU OK
Thu May 17 18:54:42 2018 Validating certificate extended key usage
Thu May 17 18:54:42 2018 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Thu May 17 18:54:42 2018 VERIFY EKU OK
Thu May 17 18:54:42 2018 VERIFY OK: depth=0, C=US, ST=LA, L=New Orleans, O=-obfuscated-, OU=XYZ, CN=server, name=obfuscated, emailAddress=-obfuscated-
Thu May 17 18:54:42 2018 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Thu May 17 18:54:42 2018 [server] Peer Connection Initiated with [AF_INET]-obfuscated-:443
Thu May 17 18:54:43 2018 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Thu May 17 18:54:43 2018 AUTH: Received control message: AUTH_FAILED
Thu May 17 18:54:43 2018 SIGTERM[soft,auth-failure] received, process exiting
Я не могу понять, почему происходит сбой, если пользователь действительно является действительной учетной записью на сервере Ubuntu. Я не вносил никаких других изменений в другие файлы, так как не сталкивался с необходимостью сделать это, основываясь на том, что мне удалось исследовать.
Любая помощь будет принята с благодарностью.