OpenSSH renewed credentials forwarding
Simon Wilkinson
simon at sxw.org.uk
Wed Oct 4 17:30:00 EDT 2006
Hi,
As a follow-up to yesterday's announcement of the 4.4p2 GSSAPI key
exchange
patch set, I'm now looking for people who'd be interested in testing
some
new, experimental code.
I have had a number of requests from people who've wondered whether
there
is a way of forwarding renewed credentials over SSH links. That is,
if you're
sitting with a login session at a workstation, and renew your
credentials at that
workstation - these renewed credentials are 'magically' transmitted
to any sessions
you have running on remote machines, to which you have already
forwarded credentials.
I have some code implementing this behaviour, that I would be
interested in
getting both testing (on non-production systems) and code review of.
The re-forwarding is implemented in both client and server. The
client watches
for renewal of the tickets in its current cache, where the principal
of the ticket
remains that same as that which established the connection. When
renewal occurs,
it forces a rekey of the SSH connection, using GSSAPI key exchange
When a rekey occurs, the server grabs the credentials delegated as
part of that
operation. Providing that these credentials have the same principal
as those it
originally stored into the user's ccache (and that ccache's ownership
and principal
hasn't changed since being originally created), it overwrites the
ccache with the new
credentials.
The server then does a pam_setcred with the new credentials, which
allows the creation of
AFS tokens, and KX509 certificates, depending on the site-specific
PAM configuration.
Both client and server behaviour is controllable by means of a
configuration option.
If you'd be interested in testing, or reviewing, this code, please
let me know!
Thanks,
Simon.
More information about the Kerberos
mailing list