我对 Kerberos 没有太多经验,但我正在尝试使用 sssd 在我的一台服务器上通过 AD 设置 SSH 身份验证。我已按照 sssd 文档 here 上的说明进行操作并让它工作,但我很难理解为什么我需要一个 keytab 文件来设置它?
我最近阅读了一些有关 Kerberos 的内容,当服务器需要在没有用户交互的情况下向 AD 进行身份验证时,或者当您需要实现 SSO(当用户请求该服务的票证)。
我只是希望我的用户在通过 SSH 登录时输入他们的用户名/密码,并让 sssd 根据 AD 验证该用户并为他们创建 TGT 票证。有趣的是 - 即使我没有设置 sssd 而只设置 kerberos 端,我也可以运行 kinit 并且得到一张票!
所以我的问题是:我可以使用 sssd 设置 SSH 身份验证而不在服务器上生成 keytab 文件吗?如果不是那么为什么不呢?
最佳答案
主题行中的问题“在服务器上设置 SSH 身份验证时使用 Kerberos keytab 文件的原因是什么?”可归结为一行答案:它允许 Kerberos 单通过解密入站 Kerberos 服务票证来“告知”用户是谁,从而对目录服务器进行登录身份验证。至于您的另一个问题“我可以使用 sssd 设置 SSH 身份验证而不在服务器上生成 keytab 文件吗?”,答案是肯定的,可以。但是,每当您连接到 SSH 服务时,系统都会提示您输入用户名或密码,除非您选择在可能用于连接的任何 SSH 实用程序中缓存密码。不过,在这种方法中缓存密码不被视为“单点登录”。
如需更多引用,您可以阅读我在 Microsoft Technet 上关于 Kerberos keytabs 的文章的更多信息:Kerberos Keytabs – Explained 。我经常根据我在这个论坛中看到的问题返回并编辑它。
关于linux - 在服务器上设置 SSH 身份验证时需要 Kerberos keytab 文件的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111105/