Client keytab ignored

Michael-O 1983-01-06 at gmx.net
Wed Mar 26 18:38:04 EDT 2014


Hi Simo,

first of all, thanks for the quick response. Let me go in detail on the 
issue.

Am 2014-03-26 19:02, schrieb Simo Sorce:
 > On Wed, 2014-03-26 at 17:34 +0100, Michael-O wrote:
 >> Hi,
 >>
 >> I am trying to obtain a service ticket with a client keytab for my 
account. Unfortunately it fails. I wanted to narrow this down and tried 
to peform the very same operation with
 >> $ kinit -k -t my.keytab
 >> and it says kinit: Keytab contains no suitable keys for 
host/fqdn at REALM while getting initial credentials.
 >
 > Kinit assumes you waht to initiate host/<hostname>@<REALM>, if you
 > keytab contains keys for another principal you need to specify that
 > principal on the kinit command line:
 >
 > kinit -k -t my.keytab my/principal at REALM

This explains a lot.

 >> Additionally, I have set KRB5_CLIENT_KTNAME and KRB5_KTNAME with 
$HOME/my.keytab and FILE:$HOME/my.keytab, no avail.
 >> Is there any trick to make a client keytab work with kinit and 
GSS-API init_sec_context?
 >
 > How are you testing hits ? Is it a custom application ?
 > Some application may need minor modifications to be able to take
 > advantage of KRB5_CLIENT_KTNAME depending on how they use gssapi.
 >
 > I use Keytab Initiation often and works fine so far.

I have tried:

1. KRB5_CLIENT_KTNAME=... kinit -k -t my.keytab
    with no difference

Maybe, I should elaborate on my use case: I'd like to use curl and 
libcurl in an automated fashion from within C and Fortran. I use an AD 
account for that, I have created a keytab with ktutil and want to use 
that keytab with curl. I assumed that this should work automagically as 
long as the KRB5 API knows about the keytab location.

 >> The MIT Krb5 docs say that the first principal from the keytab is
 >> taken and my principal is in the keytab which I have created with
 >> ktutil.
 >
 > Yes this is true for gssapi, not for kinit, kinit wants you to be
 > explicit about what principal to use if not the default host principal.

That is good to know.

 >> I am on RHEL 6.5, Linux <fqdn> 2.6.32-431.5.1.el6.x86_64 #1 SMP Fri
 >> Jan 10 14:46:43 EST 2014 x86_64 x86_64 x86_64 GNU/Linux, MIT Kerberos
 >> from standard yum repository.
 >
 > Ah this explains why your application wouldn't work, Keytab Initiation
 > has been introduced in MIT Krb 1.11, we haven't backported it to RHEL 6
 > which runs on 1.10, RHEL 7 will have keytab initiation support.

Are you refering to [1]: "Add a new API krb5_kt_client_default() to 
resolve the default client keytab"?

Does this mean that I won't be able to use a client keytab and create an 
outbound context without an explicit kinit with the keytab to populate a 
credential cache? It comes to my mind that [2] is actually describing my 
exact problem and telling me that I need a new MIT Kerberos version ...

As an important side note, my target platform is HP-UX 11.31 but HP 
makes is really hard to determine what exact MIT Kerberos version is 
installed. All I know is that it has no SPNEGO support so it must be old 
I took RHEL 6 just to verify that issue on a more popular platform. 
Plus, I am used to use Oracle's JGSS, where I provide a principal and 
the keytab, the system does rest.

Thanks,

Michael

[1] http://web.mit.edu/kerberos/krb5-1.11/README-1.11.txt
[2] http://k5wiki.kerberos.org/wiki/Projects/Keytab_initiation


More information about the Kerberos mailing list