linux – Kerberos如何使用SSH?
假设我有四台计算机,笔记本电脑,Server1,Server2,Kerberos服务器:
>我使用PuTTY或SSH从L到S1登录,提供我的用户名/密码 描述所有重要的SSH和KRB5协议交换:“L发送用户名到S1”,“K发送…到S1”等. (此问题旨在进行社区编辑;请为非专业读者改进.) 解决方法
首次登录:
> L向S1发送用户名和SSH认证请求 > S1获得TGT. >旧样式(没有preauth):S1发送AS-REQ并接收包含TGT的AS-REP. > S1尝试使用密码生成的密钥解密TGT.如果解密成功,则接受密码为正确. > S1使用PAM执行授权检查(取决于配置)并打开会话. >如果在授权阶段调用pam_krb5,它会检查是否存在?/ .k5login.如果是,则必须列出客户端Kerberos主体.否则,唯一允许的主体是username @ DEFAULT-REALM. 第二次登录: > S1向S2发送用户名和SSH authn请求 >其他协议(如LDAP)可以选择使用请求中包含的“会话密钥”加密进一步的数据传输;但是,SSH已经协商了自己的加密层. >如果身份验证成功,S2使用PAM执行授权检查并打开会话,与S1相同. 请注意,您也可以在本地获取TGT.在Linux上,您可以使用kinit执行此操作,然后使用ssh -K进行连接.对于Windows,如果您登录到Windows AD域,Windows会为您执行此操作;否则,可以使用MIT Kerberos. PuTTY 0.61支持同时使用Windows(SSPI)和MIT(GSSAPI),但您必须手动启用转发(委派). 1 gssapi-keyex也是可能的,但未被官方OpenSSH接受. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |