[OpenAFS] optaining a token after openssh GSSAPI credential-delegation

Alexander Bergolth leo@strike.wu-wien.ac.at
Sun, 11 Sep 2005 15:18:52 +0200


Hi!

I'm using GSSAPI credential-delegation to forward my kerberos 5 
tgt-ticket when initiating an openssh session.

GSSAPI-authentication and ticket forwarding works file but now I'm 
looking for a way to obtain an AFS-token from the TGT to be able to 
enter my home-directory which resides in AFS. I don't want to do that 
using aklog in the shell-profile, I'd prefer something like a pam-module.

I've tried to use a pam-session entry containing the prm_krb5 module but 
it looks like this module requires a pam-stash in the session stage, 
that is initialized in the auth-stage. If GSSAPI-authentication is used, 
the auth stage isn't used and therefore the session setup is skipped.

Sep 11 15:02:27 roaster sshd[5837]: pam_krb5[5837]: no v5 creds for user 
'bergolth', skipping session setup

Is there a pam_module that obtains a token from an krb5 ticket in the 
session stage without needing an auth stage?

Btw.: Maybe there is a second problem: I've straced the sshd 
login-process and it looks like the KRB5CCNAME environment variable is 
set (by another thread) _after_ the pam-session modules are executed. 
(See the strace excerpt below.)

Any help would be greatly appreciated.

Cheers,
--leo

# egrep 'no v5|krb5cc|clone' /tmp/urxn.txt
open("/tmp/krb5cc_5020_WO5082", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) 
= 12
unlink("/tmp/krb5cc_5020_WO5082")       = 0
open("/tmp/krb5cc_5020_WO5082", 
O_RDWR|O_CREAT|O_TRUNC|O_EXCL|O_LARGEFILE, 0600) = 12
open("/tmp/krb5cc_5020_WO5082", O_RDWR|O_LARGEFILE) = 12
clone(Process 5083 attached
[pid  5083] send(10, "<39>Sep 11 13:28:30 sshd[5083]: pam_krb5[5083]: no 
v5 creds for user \'bergolth\', skipping session setup", 103, 
MSG_NOSIGNAL) = 103
[pid  5083] write(2, "debug1: Setting KRB5CCNAME to 
FILE:/tmp/krb5cc_5020_WO5082\r\n", 60 <unfinished ...>
[pid  5082] <... read resumed> "debug1: Setting KRB5CCNAME to 
FILE:/tmp/krb5cc_5020_WO5082\r\r\n", 16384) = 61
[pid  5083] write(2, "  KRB5CCNAME=FILE:/tmp/krb5cc_5020_WO5082\n", 42 
<unfinished ...>
[pid  5082] <... read resumed> "Environment:\r\n 
KRB5CCNAME=FILE:/tmp/krb5cc_5020_WO5082\r\n  USER=bergolth\r\n 
LOGNAME=bergolth\r\n  HOME=/afs/wu-wien.ac.at/home/edvz/bergolth\r\n 
PATH=/usr/local/bin:/bin:/usr/bin\r\n  MAIL=/var/mail/bergolth\r\n", 
16384) = 204
[pid  5083] clone( <unfinished ...>
[pid  5083] <... clone resumed> child_stack=0, 
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0xb7f9c708) = 5084
write(2, "debug1: removing gssapi cred 
file\"/tmp/krb5cc_5020_WO5082\"\r\n", 60debug1: removing gssapi cred 
file"/tmp/krb5cc_5020_WO5082"
unlink("/tmp/krb5cc_5020_WO5082")       = 0

-- 
-----------------------------------------------------------------------
Alexander.Bergolth@wu-wien.ac.at                Fax: +43-1-31336-906050
Zentrum fuer Informatikdienste - Wirtschaftsuniversitaet Wien - Austria