J'ai configuré OpenVPN et je peux m'authentifier avec une authentification basée sur un certificat. Cependant, je souhaite maintenant implémenter l'authentification par nom d'utilisateur / mot de passe. Il semble que de nombreux guides et articles, et même l'article de support OpenVPN, fournissent des informations limitées sur la manière de procéder.
Jusqu'à présent, j'ai réussi à ajouter la ligne suivante à /etc/openvpn/server.conf
plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so login
J'ai également ajouté la ligne suivante à la client.ovpn
fichier:
auth-user-pass
Maintenant, lorsque j'essaie de me connecter au serveur OpenVPN, j'utilise une combinaison nom d'utilisateur / mot de passe qui est en fait un utilisateur valide sur le système Ubuntu. Cependant, cela me donne une erreur AUTH_FAILED.
Voici la sortie de la console du terminal sur le client.
[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
Je n'arrive pas à comprendre pourquoi cela échoue si l'utilisateur est effectivement un compte utilisateur valide sur le serveur Ubuntu. Je n'ai apporté aucune modification à aucun autre fichier, car je n'ai pas encore eu besoin de le faire en me basant sur mes recherches.
Toute aide serait grandement appréciée ici.