当在Ubuntu上使用Kerberos设置sshd时,需要“确保每个用户都有一个有效的帐户,无论是在本地主机上(通过adduser或类似的),还是通过共享源(例如LDAP )。
为什么会这样呢?
我可以看到,如果您使用GSSAPIAuthentication选项或KerberosAuthentication,您已经根据KDC验证了用户。
这仅仅是需要将用户名映射到用户Is的问题吗?
发布于 2017-11-22 21:16:19
我可以看到,如果您使用GSSAPIAuthentication选项或KerberosAuthentication,您已经根据KDC验证了用户
KDC验证principal,而不是用户帐户。(可以为用户、服务等创建主体)。对于KDC,它是所有的主体,它验证相同的标识)。
Linux需要一个用户名,并且它需要相应的uid & gid (以及少量的可选属性)才能将其视为一个有效的用户帐户。KDC不知道/不能提供这些细节,因此必须通过NSS向操作系统提供用户详细信息。根据配置的不同,它可以从files 本地用户、ldap或其他源获取用户详细信息。
一旦操作系统知道它是一个有效的用户帐户(getent passwd user_name),那么您就可以使用任何可用的身份验证机制(本地密码、ldap auth、kerberos等)。若要验证用户帐户,请执行以下操作。
对于kerberos :系统将主体(abc@REALM)映射到用户'abc',方法是剥离REALM部分(默认情况下),如果kerberos验证对于主体abc@REALM成功,则授予访问权限。
发布于 2017-11-20 04:16:26
只有在凭据有效的情况下,Kerberos身份验证令牌才不会提供安全上下文,例如ldap提供的组权限。
https://serverfault.com/questions/884218
复制相似问题