Tectia client/server solution supports authenticating to a Kerberos realm with authentication agent forwarding with the private keys stored on the local host. This makes it possible to log in to a Kerberos realm from a second client/server host during a Secure Shell session.
For example, when a Tectia Client user uses certificates (or a smartcard token) to connect via Tectia Server to other remote servers (running any Secure Shell servers), the local Connection Broker can act as a key store and provide the user's keys to a third-party application such as MIT Kerberos for authentication.
When Tectia Server and sshg3 are used on the second host, the key provider socket is set up by default, as long as authentication agent forwarding is allowed by both Connection Broker and Tectia Server.
Example of
the required configuration in the pkcs11
module in the
krb5.conf
of MIT Kerberos on the second host:
[realms] DOMAIN.COM = { kdc = ad.domain.com:88 kpasswd_server = ad.domain.com:464 pkinit_kdc_hostname = ad.domain.com pkinit_identities = PKCS11:/opt/tectia/lib/sshack.so pkinit_anchors = FILE:/etc/krb5/ca.crt pkinit_win2k = true pkinit_eku_checking = kpServerAuth pkinit_cert_match = <SAN>.*@DOMAIN.COM forwardable = true forward = true }
Connection Broker configuration on the second host should include:
<default-settings> <authentication-methods> <auth-gssapi /> <auth-publickey /> <auth-keyboard-interactive /> <auth-password /> </authentication-methods> <forwards> <forward type="agent" state="on" /> </forwards> </default-settings >
/opt/tectia/lib/sshack.so
implements a set of PKCS
#11 functionality to support signing, which is not restricted to usage in Kerberos.
If the connection is made via other tools than Tectia Client, the environment variable
SSH_AA_SOCK
on the local host needs to be configured with the path to the
Connection Broker agent socket (by default,
/tmp/ssh-<user>/ssh-broker-aa
).