PAM and GSSAPI SSH authentication conflict
Rachel Elizabeth Dillon
red at MIT.EDU
Fri Oct 8 15:16:36 EDT 2004
Thank you! I had to tweak some things to the modules that I had, and take
out some modules I didn't have, but I was able to get the right behavior
with:
#ssh auth required pam_env.so
ssh auth sufficient pam_unix_auth.so.1
ssh auth sufficient pam_krb5.so.1 try_first_pass
#ssh auth required pam_deny.so
ssh account required pam_unix_account.so.1
ssh account sufficient pam_krb5.so.1
ssh password sufficient pam_krb5.so.1 try_first_pass
#ssh password required pam_deny.so
#ssh session required pam_limits.so
ssh session required pam_unix_session.so.1
ssh session optional pam_krb5.so.1
I don't _think_ there is any problem with having those other lines
commented out, but I am not a PAM wizard. Thank you again for the help!
-r.
On Fri, Oct 08, 2004 at 01:58:07PM -0500, Kasundra, Digant wrote:
> This is what our pam file looks like:
>
> auth required /lib/security/$ISA/pam_env.so
> auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
> auth sufficient /lib/security/$ISA/pam_krb5.so use_first_pass
> auth required /lib/security/$ISA/pam_deny.so
>
> account required /lib/security/$ISA/pam_unix.so
> account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_krb5.so
>
> password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
> password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
> password sufficient /lib/security/$ISA/pam_krb5.so use_authtok
> password required /lib/security/$ISA/pam_deny.so
>
> session sufficient /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel/ umask=0077
> session required /lib/security/$ISA/pam_limits.so
> session required /lib/security/$ISA/pam_unix.so
> session optional /lib/security/$ISA/pam_krb5.so
>
> The biggest difference that I see is the account and session lines. We require pam_unix.so first. This is because the account information (ie who are you, what is your uidnumber, what is your home directory, etc) is not stored in kerberos, but locally. (Actually, its stored in LDAP but the local nsswitch knows to look in there, pam doesn't know about all of that here).
>
>
>
> -----Original Message-----
> From: kerberos-bounces at mit.edu on behalf of Rachel Elizabeth Dillon
> Sent: Fri 10/8/2004 1:12 PM
> To: kerberos at mit.edu
> Subject: PAM and GSSAPI SSH authentication conflict
>
> I am building a network that uses Kerberos for authentication. The original
> plan was to have a single bastion host to which users sshed, and logged in
> using their Kerberos password. From that bastion host, users could then
> ssh to any other machine on the network, authenticatning via forwardable
> Kerberos tickets and GSSAPI. I had this working. But, as always happens
> with these things, requirements changed.
>
> I am currently evaluating the feasibility of having every machine on the
> network accept either Kerberos tickets or a Kerberos password as an
> authentication mechanism. I believe that this _should_ work, but I haven't
> been able to make it work. I have the following lines in /etc/pam.conf :
>
> ssh auth required pam_krb5.so.1 try_first_pass
> ssh account required pam_krb5.so.1
> ssh session required pam_krb5.so.1
> ssh password required pam_krb5.so.1 try_first_pass
>
> If I comment these lines out, I get authentication just fine without
> tickets but, unsurprisingly, no password-based authentication via PAM.
> With the lines in place, if I ssh in with appropriate Kerberos tickets,
> I get a host ticket but the following error in sshd -d -d -d :
>
> debug1: userauth-request for user ptadmin service ssh-connection method external-keyx
> debug1: attempt 1 failures 1
> debug2: input_userauth_request: try method external-keyx
> Authorized to ptadmin, krb5 principal ptadmin at IC.COM (krb5_kuserok)
> debug2: pam_acct_mgmt() = 17
> PAM rejected by account configuration[17]: User account has expired
>
> To the best of my knowledge the account is not expired, since it can log
> in just fine either with its Kerberos password or with those lines commented
> out. I tried googling on this phrase and found a variety of errors related
> to password expiry (reasonable), but this user account does not even _have_
> a local password; no accounts do in our system. I would expect Solaris to
> do the right thing and not count them as expired passwords in this case, but
> maybe PAM gets tripped up? I'm not sure.
>
> Anyway, any help would be appreciated. I'm using stock Debian OpenSSH 3.6,
> except recompiled for Solaris.
>
> Thanks!
>
> -r.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mailman.mit.edu/pipermail/kerberos/attachments/20041008/49b4a31f/attachment.bin
More information about the Kerberos
mailing list