Hi,
thanks for you answer. I tried both. The python module and the C module. This the output from auth.log, using the C module:
Local user exists:
pam_linotp[24719]: DEBUG: "realm:
xyz.de"
pam_linotp[24719]: DEBUG: "resConf: (null)"
pam_linotp[24719]: DEBUG: "validate url:
https://otpserver/validate/simplecheck"
pam_linotp[24719]: DEBUG: "prompt: Your OTP:"
pam_linotp[24719]: DEBUG: "'use_first_pass' 0 ,"
pam_linotp[24719]: DEBUG: "nosslhostnameverify 1"
pam_linotp[24719]: DEBUG: "we will not verify the hostname."
pam_linotp[24719]: DEBUG: "nosslcertverify 1"
pam_linotp[24719]: DEBUG: "found 'nosslcertverify', we will not verify the certificate."
pam_linotp[24719]: DEBUG: "got user LOCALUSER"
pam_linotp[24719]: DEBUG: "Getting password"
pam_linotp[24719]: DEBUG: "Not using OPENPAM."
pam_linotp[24719]: DEBUG: "pam_local_get_authtok"
pam_linotp[24719]: DEBUG: "pam_local_get_authtok"
pam_linotp[24719]: DEBUG: "Getting password from PAM conversation. result: 0"
pam_linotp[24719]: DEBUG: "response code: (null) "
pam_linotp[24719]: DEBUG: "End of password fetching."
pam_linotp[24719]: DEBUG: "Ok, you are debugging - here your pass: 3894398"
pam_linotp[24719]: DEBUG: "pam_linotp_validate_password"
pam_linotp[24719]: DEBUG: "user: LOCALUSER"
pam_linotp[24719]: DEBUG: "url :
https://otpserver/validate/simplecheck"
pam_linotp[24719]: DEBUG: "entering linotp_create_url_params."
pam_linotp[24719]: DEBUG: "allocating 49 chars"
pam_linotp[24719]: DEBUG: "freeing escaped value for realm"
pam_linotp[24719]: DEBUG: "freeing escaped value for user"
pam_linotp[24719]: DEBUG: "freeing escaped value for pass"
pam_linotp[24719]: DEBUG: "connecting to
url:https://otpserver/validate/simplecheck with parameters realm=
xyz.de&user=LOCALUSER&pass=3894398"
pam_linotp[24719]: DEBUG: "result :-("
pam_linotp[24719]: INFO: "user 'LOCALUSER' rejected"
pam_linotp[24719]: DEBUG: "freeing password"
pam_linotp[24719]: INFO: "pam_linotp callback done. [Authentication failure]"
Local User does not exist:
pam_linotp[24719]: DEBUG: "realm:
xyz.de"
pam_linotp[24719]: DEBUG: "resConf: (null)"
pam_linotp[24719]: DEBUG: "validate url:
https://otpserver/validate/simplecheck"
pam_linotp[24719]: DEBUG: "prompt: Your OTP:"
pam_linotp[24719]: DEBUG: "'use_first_pass' 0 ,"
pam_linotp[24719]: DEBUG: "nosslhostnameverify 1"
pam_linotp[24719]: DEBUG: "we will not verify the hostname."
pam_linotp[24719]: DEBUG: "nosslcertverify 1"
pam_linotp[24719]: DEBUG: "found 'nosslcertverify', we will not verify the certificate."
pam_linotp[24719]: DEBUG: "got user NOLOCALUSER"
PAM stops with got user... and does not contact the OTP Server. That's why there is no output in the linotp.log.
I don't think that there is something wrong with the useridresolver or the LDAP connection. Every user that has a local account on the VPN Server can be authenticated.
I guess the error has to be found on the VPN Server where PAM is executed.
Could you please share your PAM configuration?
Did you change anything in your nsswitch.conf? Mine is the stock version from Debian 7.
# /etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Kind regards,
Andreas