Answers:
首次登录:
pam_krb5
或pam_sss
)从Kerberos KDC请求TGT(授予票据的票据)。
$KRB5CCNAME
环境变量以查找ccache,或用于klist
列出其内容。)pam_krb5
在授权阶段被调用,则检查是否~/.k5login
存在。如果是这样,则必须列出客户端Kerberos主体。否则,唯一允许的主体是。username@DEFAULT-REALM
第二次登录:
host/s2.example.com@EXAMPLE.COM
请注意,您也可以在本地获取TGT。在Linux上,您可以使用进行操作kinit
,然后使用进行连接ssh -K
。对于Windows,如果您已登录Windows AD域,则Windows会为您完成;否则,可以使用MIT Kerberos。PuTTY 0.61支持同时使用Windows(SSPI)和MIT(GSSAPI),尽管您必须手动启用转发(代理)。
gssapi-keyex
也可以使用1,但未被正式的OpenSSH接受。
这里唯一不明显的步骤是,S1上有一个PAM模块,该模块使用您的凭据执行A,kinit
并从K(客户端身份验证)获得票证授予票证。然后,当您使用Kerberos身份验证SSH到S2时,将进行客户端服务身份验证。我看不到逐个消息地进行所有乏味的交流所带来的好处。
-vvv
如果要查看每条消息并阅读Kerberos 的Wikipedia描述,请在ssh命令上添加a 。