Subject: Re: PAM and OpenSSH
To: Greg Troxel <gdt@ir.bbn.com>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-userlevel
Date: 01/26/2005 09:10:27
On Jan 26, 2005, at 5:55 AM, Greg Troxel wrote:

> An sshd can accept a username and password, and try to get tickets,
> and then a service ticket for host/f.q.d.n@REALM, and if that ticket
> works, allow the user to log in, provide the tickets to the user,
> and clean them up afterwards.  I don't know any reason this should be
> different from how login behaves.

Right.  In other words, the "regular password" auth mode for the SSH 
protocol can itself use PAM as the back-end.  This would allow for e.g. 
Unix passwords, RADIUS, or even S/Key.

> An ssh client can, rather than sending a username/password to the
> sshd, send a username and a GSSAPI authenticator (or raw krb5, but krb
> culture views that as icky).  The remote sshd checks the authenticator
> against host credentials.  On should also be able to send forwarded
> tickets, and have those be cleaned up on exit.

Right.  In the SSHv1 protocol, raw krb5 was used (I wrote an 
implementation of this some years ago).  For SSHv2, there is a draft 
(sorry, I haven't kept up with this for a while, so I don't know the 
current status of this draft, or if it has progressed to RFC status 
yet) for using GSSAPI.  I seem to recall that in SSHv2, the GSSAPI 
credentials are used for more than just authentication; they're also 
used to re-key the SSH transport (this has the surprising-for-some 
side-effect of killing your entire SSH session once your ticket 
expires).

For *both* the SSHv1 and SSHv2 native Kerberos / GSSAPI modes, PAM 
cannot be used.

-- thorpej