Hi,
I currently have an OpenVPN server with U2F authentication (via Yubico's yubikey) and PAM (based on viscosity's documentation
https://www.sparklabs.com/support/kb/article/yubikey-u2f-two-factor-authentication-with-openvpn-and-viscosity/) It works perfectly with viscosity's client, but with openvpn on Ubuntu, I can't authenticate to the server. I'm getting a prompt after I enter my password which is the challenge the server's sending to the client, but when I tap on my Yubikey, I'm getting a stack trace as follows on my server :
Traceback (most recent call last):
File "/usr/share/openvpn/pam-u2f/auth-pam-u2f.py", line 166, in <module>
authClient.Run()
File "/usr/share/openvpn/pam-u2f/auth-pam-u2f.py", line 75, in Run
response = json.loads(str(token))
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
I'm assuming the client's not sending the data as expected by the script, and as such, I can't authenticate on my server. I was wondering if anyone has tried this setup, and if so, have you changed anything to make it work? Unfortunately, Viscosity's not available on Linux 😐
Thanks!
KP