example.org
。EXAMPLE.ORG
。sysrc
更新 /etc/rc.conf,如下所示:kerberos.example.org
。KDC 的主机名必须在 DNS 中可解析。example.org
区域文件中加入以下几行:kstash
并输入一个密码。kadmin -l
的模式直接操作数据库。而不必使用 kadmind(8) 网网络服务。这就解决了在数据库创建之前试图连接到数据库的鸡生蛋蛋生鸡的问题。在 kadmin
提示下,使用 init
来创建领域的初始数据库。kadmin
中,使用 add
创建第一个 主体。现在坚持使用主体的默认选项,因为这些选项可以在以后用 modify
修改。在提示符下输入 ?
来查看可用的选项。kilist
命令确认已成功获取票证:kadmin
生成的,然后安全传输到服务器,例如使用 scp(1); 如果符合所需的安全策略。也可以直接在服务器上创建。以安全的方式将密钥表传输到服务器是非常重要的:如果密钥被其他方知道,该方可以冒充任何用户到服务器上! 在服务器上直接使用 kadmin
是很方便的。因为 KDC 数据库中的主机负责人条目也是用 kadmin
创建的。kadmin
是一个 kerberized
服务; 需要一个 Kerberos
票来验证网络服务。但为了确保运行 kadmin
的用户确实存在 (并且他们的会话没有被劫持)。kadmin
会提示密码以获得一个新的票。验证 kadmin 服务的委托人必须被允许使用 kadmin
接口,正如在 /var/heimdal/kadmind.acl 中指定的那样。关于设计访问控制列表的细节,请参见 info heimdal
中题为 "远程管理 "的章节。管理员可以通过本地控制台或 ssh(1) 安全地连接到 KDC。并使用 kadmin -l
进行本地管理。而不是启用远程 kadmin
访问。kadmin
中使用 add --random-key
。这将把服务器的主机主密钥添加到数据库中。但不会将主机主密钥的副本提取到钥匙串中。要生成钥匙串,请使用 ext
来提取服务器的主机主密钥到它自己的钥匙串中。ext_keytab
默认将提取的密钥存储在 /etc/krb5.keytab 中。当运行在支持 kerberos 的服务器上时,这很好,但是当在其他地方提取 keytab 时,应该使用 --keytab path/to/file
参数:kinit、klist
和 kdestroy
来获取、显示并删除现有委托人的 ticket 来测试客户机。Kerberos 应用程序也应该能够连接到支持 Kerberos 的服务器。如果这不起作用。而获取 ticket 却起作用。那么问题可能出在服务器上。而不是在客户机或 KDC 上。在使用 Kerberized ssh(1) 的情况下。GSS-API 默认是禁用的。所以请使用 ssh -o GSSAPIAuthentication=yes hostname
进行测试。tcpdump
这样的数据包嗅探器来确认没有敏感信息是以透明方式发送的。[email protected]
可能需要访问本地用户帐户 webdevelopers
。其他委托人也可能需要访问该本地帐户。webdevelopers
的主目录中,那么列出的两个负责人都可以访问该帐户,而不需要共享密码。kadmin
有一套不同的、但又相当的命令,并使用不同的协议。如果 KDC 是 MIT 的,Heimdal
版本的 kadmin
就不能用来远程管理 KDC,反之亦然。PATH
在系统版本之前列出端口的客户应用程序的版本。Kerberos5 refuses authentication because Read req failed: Key table entry not found
。ksu
的权限设置为 setuid root
。这意味着 ksu
不能工作。这是一个权限问题,而不是 KDC 的错误。modify_principal
来改变相关委托人和 krbtgt
委托人的最大寿命。然后。委托人可以使用 kinit -l
来请求一个寿命更长的 ticket。kinit
时。在 KDC 上运行数据包嗅探器以帮助排除故障时。Ticket Granting Ticket (TGT) 会立即发送。甚至在输入密码之前。这是因为 Kerberos 服务器会对任何未经授权的请求自由地发送 TGT。然而,每一个TGT都被加密在一个从用户的密码衍生出来的密钥中。当用户输入他们的密码时,它不会被发送到 KDC,而是被用来解密 kinit
已经获得的 TGT。如果解密过程的结果是带有有效时间戳的有效票据,那么该用户就拥有有效的 Kerberos 凭证。这些凭证包括一个会话密钥,用于在将来与 Kerberos 服务器建立安全通信,以及实际的 TGT,它是用 Kerberos 服务器自己的密钥加密的。这第二层加密允许 Kerberos 服务器验证每个 TGT 的真实性。kinit
可以记录所有的用户名和密码。像 security/tripwire 可以缓解这种情况。