Solaris 9, stock sshd, pam_krb5, MIT 1.4.3 KDC
Jeffrey Hutzelman
jhutz at cmu.edu
Tue May 16 20:44:03 EDT 2006
On Tuesday, May 16, 2006 06:40:29 PM -0400 Jeff Blaine
<jblaine at kickflop.net> wrote:
> Yes, MIT k5 1.4.3
>
> The only Solaris piece I ever expect to use is pam_krb5.so
>
> I've yet to touch/test Linux + K5, but it will be promptly
> after I find most of the hiccups with Solaris + MIT for
> now. Then it's on to Cyrus IMAP integration and other
> fun stuff.
>
> Maybe I'm just sore about it, but perhaps something should
> be mentioned about this in the docs? I can't really wrap
> my head around how this bit me and there wasn't a pile of
> of mailing list archive chatter by other people being
> bitten (when I searched before posting...). That is, I
> don't see that I am doing anything rare here. I'm trying
> to use MIT K5 as a KDC in a homogenous environment. Out
> of the box, I got bit the first time I touched anything
> that didn't come from MIT. If nobody finds that bad,
> so be it -- I'm not going to drag it out further.
The problem is not that you touched something that didn't come from MIT.
The problem is that you have software that is old, and doesn't support as
many enctypes as newer software. When you added an entry for that service
to the Kerberos database, you gave it keys for enctypes the server software
doesn't actually support. Neither kadmin nor the KDC have any way of
knowing this, other than you telling it.
An easy approach that solves this problem most of the time is to make sure
that the tools you use to register a service in the Kerberos database are
from the same software distribution as the service itself. That way,
they'll support the same set of enctypes and no one will get confused.
Unfortunately, this doesn't work all the time, for several reasons. Nico
alluded to an issue with Solaris 9's kadmin which requires that the KDC go
to some effort to recognize that particular client and do the right thing.
More generally, the kadmin protocol is not standardized, so there is no
guarantee that any client will work if it didn't come from your KDC vendor.
That's something I hope to see change, eventually, but that depends a lot
on the availability and willingness of people to do the work to define a
standard admin protocol. In the meantime, recent versions of Solaris and
MIT kadmin interoperate, but only because those parties have gone to some
effort to make it so.
And of course, life gets fun when you have multiple software versions that
will share a service key For example, if you plan to use Sun's pam_krb5
and also run some other telnetd or sshd on the same machine, you need to
make sure the host principal only has keys of types supported by all of
those services. To some extent, this becomes a matter of understanding
exactly what's going on, and going to some effort to get it right. It'd be
nice for it to all Just Work(tm), but in this case it turns out to be
tricky to get all the edge cases right.
-- Jeffrey T. Hutzelman (N3NHS) <jhutz+ at cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
> Here's a bug, too :)
>
> kadmin.local: ktadd -e des-cbc-crc host/noodle.foo.com
> ktadd: Invalid argument while parsing keysalts de
Well, I can't speak for MIT, but I seem to recall that at least at one
time, the error reporting in this case had some problems.
-- Jeffrey T. Hutzelman (N3NHS) <jhutz+ at cmu.edu>
Sr. Research Systems Programmer
School of Computer Science - Research Computing Facility
Carnegie Mellon University - Pittsburgh, PA
More information about the Kerberos
mailing list