gssapi auth, and multihomed multinamed hosts
scanell
scanell at jpl.nasa.gov
Thu Jun 7 10:35:56 EDT 2007
I can attest to issues with a multi homed host.... I had one with a
kerberos server. I would have traffic
come in on one IP but respond back on another IP which broke all
transactions from client and server,
so it wouldn't surprise me if the reverse is true and you will
experience the same problems.
Steve
Simon Wilkinson wrote:
On 6 Jun 2007, at 16:55, Michael B Allen wrote:
I have a Solaris 10 server with two ip addresses: "fixed.example.com"
and "float.example.com". The latter is an IP address that the server
sometimes assumes as part of its role in a high-availability cluster.
I have compiled my own openssh+gssapi version of sshd, and have got
ssh single-sign-on working fine (both windows secureCRT, a patched
version of Putty, and also the unix openssh clients) . So far so
good.
It is now time to get gssapi auth to working with the
"float.example.com" address.
Can I expect to just add the keytab for "float.example.com" into /
etc/
krb5.keytab and expect everything to be OK?
I don't have first hand knowledge of this particular scenario but from
what I know about GSSAPI it should work fine. GSSAPI works by name so
provided the key on the KDC associated with the service principal
matches
the key in the keytab used by sshd then it should work.
It's a little more complicated than that. With GSSAPI, both the
client and the server have to use the same service principal at
either end of the connection. They must decide upon what to use
independently, before the connection is established. Typically these
are based around the service name ('host' in this case), and the
hostname of the server being contacted. The OpenSSH client picks the
target service principal based on the hostname typed by the user, the
server picks its service principal based on the result of gethostname
(). The MIT GSSAPI libraries currently use DNS to canonicalise these
names - which is why 'ssh duffus' still works.
There's further confusion that can arise through the use of 'clever'
DNS configuration, in particular if the host is part of a round-robin
DNS cluster. From your description, I'm assuming that
'float.example.com' will only ever point at one IP at a time, and
that each of those IPs resolve back as 'float.example.com', so the
round-robin issues won't apply.
So, in your case you will do 'ssh float.example.com', and (providing
your DNS is correctly setup) the client will attempt to open a GSSAPI
connection to [1]host at float.example.com. However, the server still
thinks it's called 'fixed.example.com', and so will only accept
GSSAPI connections for [2]host at fixed.example.com. Your GSSAPI connection
will, therefore, fail.
What you need is a way of telling the OpenSSH server to be more
forgiving in it's list of acceptors. There's a patch in their bug
tracking system that will do this. [3]http://bugzilla.mindrot.org/
attachment.cgi?id=1182 adds a new configuration directive
'GSSAPIStrictAcceptorCheck'. If you set this to 'no', then any
principal in the keytab of your server will be able to act as an
acceptor. If you're using this option, you need to be careful which
principals are in the default keytab, but apart from that, it should
solve your problem.
Cheers,
Simon.
________________________________________________
Kerberos mailing list [4]Kerberos at mit.edu
[5]https://mailman.mit.edu/mailman/listinfo/kerberos
--
Stephen E. Canell
Sr Engineer, UNIX System Administrator
Institutional Business Systems
Jet Propulsion Laboratory
4800 Oak Grove Drive
Pasadena, Calif. 91109
Office: (818) 354-1731
Cell: (818) 653-8303
References
1. mailto:host at float.example.com
2. mailto:host at fixed.example.com
3. http://bugzilla.mindrot.org/
4. mailto:Kerberos at mit.edu
5. https://mailman.mit.edu/mailman/listinfo/kerberos
More information about the Kerberos
mailing list