<div dir="ltr">Hi,<div><br></div><div>I have working pam_ldap authentication. I'm using slapo-nssov and want to use loginStatus attribute which is added to users ldap entry after opening pam session and deleted when its closed. It works only with ssh password authentication. </div><div>I think that there's something skipped in pam when I use public-key instead of password - There is no 'pam_ldap(sshd:auth) nslcd authentication; user=user' record in the log. That's probably the reason why loginStatus attribute isn't added for users ldap entry. See auth.log debug below. Is there any chance to force pam to do sshd:auth when the public-key authentication is used? </div><div><br></div><div>Successful ssh connection by user password:</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:auth): nslcd authentication; user=jindraj</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:auth): authentication succeeded</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:account): nslcd authorisation; user=jindraj</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:account): authorization succeeded</div><div>Apr  8 10:41:57 host sshd[14511]: Accepted password for jindraj from 10.255.0.5 port 60889 ssh2: RSA 5c:f6:86:ec:06:b6:4d:ed:e5:34:23:66:78:a0:16:2b</div><div>Apr  8 10:41:57 host sshd[14511]: pam_selinux(sshd:session): Open Session</div><div>Apr  8 10:41:57 host sshd[14511]: pam_unix(sshd:session): session opened for user jindraj by (uid=0)</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:57 host sshd[14511]: pam_ldap(sshd:session): session open succeeded; session_id=1428482517</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:account): nslcd authorisation; user=jindraj</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:account): authorization succeeded</div><div>Apr  8 10:41:57 host login[14524]: pam_unix(login:session): session opened for user jindraj by (uid=0)</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:session): error reading from nslcd: Connection reset by peer</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:57 host login[14524]: pam_ldap(login:session): error reading from nslcd: Connection reset by peer</div><div><br></div><div>Successfull ssh connection by users public-key</div><div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:account): nslcd authorisation; user=jindraj</div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:account): authorization succeeded</div><div>Apr  8 10:41:32 host sshd[14389]: Accepted publickey for jindraj from 10.255.0.5 port 60888 ssh2: RSA 5c:f6:86:ec:06:b6:4d:ed:e5:34:23:66:78:a0:16:2b</div><div>Apr  8 10:41:32 host sshd[14389]: pam_selinux(sshd:session): Open Session</div><div>Apr  8 10:41:32 host sshd[14389]: pam_unix(sshd:session): session opened for user jindraj by (uid=0)</div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:session): error reading from nslcd: Connection reset by peer</div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:32 host sshd[14389]: pam_ldap(sshd:session): error reading from nslcd: Connection reset by peer</div><div>Apr  8 10:41:32 host sshd[14389]: pam_selinux(sshd:session): Open Session</div><div>Apr  8 10:41:32 host sshd[14389]: pam_selinux(sshd:session): SELinux is not enabled</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:account): nslcd authorisation; user=jindraj</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:account): authorization succeeded</div><div>Apr  8 10:41:32 host login[14420]: pam_unix(login:session): session opened for user jindraj by (uid=0)</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:session): error reading from nslcd: Connection reset by peer</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:session): nslcd session open; user=jindraj</div><div>Apr  8 10:41:32 host login[14420]: pam_ldap(login:session): error reading from nslcd: Connection reset by peer</div></div><div><br></div><div>Here's my auth-client-config profile. It should give you insight how my </div><div><div>[ldap]</div><div>nss_passwd=passwd: files ldap</div><div>nss_group=group: files ldap</div><div>nss_shadow=shadow: files</div><div>nss_netgroup=netgroup: nis</div><div>nss_hosts=hosts: files cache dns</div><div>nss_services=services: files ldap</div><div>nss_sudoers=sudoers: files ldap</div><div>pam_auth=auth<span class="" style="white-space:pre"> </span>required<span class="" style="white-space:pre">  </span>pam_env.so</div><div>         auth<span class="" style="white-space:pre">       </span>sufficient<span class="" style="white-space:pre">        </span>pam_unix.so likeauth nullok</div><div>         auth<span class="" style="white-space:pre">      </span>sufficient<span class="" style="white-space:pre">        </span>pam_ldap.so minimum_uid=10000 use_first_pass debug</div><div>         auth<span class="" style="white-space:pre">       </span>required<span class="" style="white-space:pre">  </span>pam_deny.so</div><div>pam_account=account<span class="" style="white-space:pre">     </span>sufficient<span class="" style="white-space:pre">        </span>pam_unix.so</div><div>            account<span class="" style="white-space:pre">       </span>sufficient<span class="" style="white-space:pre">        </span>pam_ldap.so minimum_uid=10000 debug</div><div>            account<span class="" style="white-space:pre">       </span>required<span class="" style="white-space:pre">  </span>pam_deny.so</div><div>pam_password=password<span class="" style="white-space:pre">   </span>sufficient<span class="" style="white-space:pre">        </span>pam_unix.so nullok md5 shadow use_authtok</div><div>             password<span class="" style="white-space:pre">      </span>sufficient<span class="" style="white-space:pre">        </span>pam_ldap.so minimum_uid=10000 try_first_pass debug</div><div>             password<span class="" style="white-space:pre">     </span>required<span class="" style="white-space:pre">  </span>pam_deny.so</div><div>pam_session=session<span class="" style="white-space:pre">     </span>required<span class="" style="white-space:pre">  </span>pam_limits.so</div><div>            session<span class="" style="white-space:pre">     </span>required<span class="" style="white-space:pre">  </span>pam_unix.so</div><div>            session<span class="" style="white-space:pre">       </span>sufficient<span class="" style="white-space:pre">        </span>pam_ldap.so use_authtok debug</div><div>            session<span class="" style="white-space:pre">     </span>sufficient<span class="" style="white-space:pre">        </span>pam_ldap.so minimum_uid=10000 debug</div><div>            session<span class="" style="white-space:pre">       </span>required<span class="" style="white-space:pre">  </span>pam_mkhomedir.so skel=/etc/skel umask=0022</div></div><div><br></div><div>My environment:</div><div>Ubuntu 14.04 LTS</div><div>OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014</div><div>libpam_ldapd 0.8.13-3</div><div>libnss_ldapd 0.8.13-3</div><div>openldap 2.4.31 with nssov</div><div><br></div><div>Thanks,</div><div>Jakub Jindra</div><div></div></div>