3.3. 辅助 KDC
一旦您的网络上有一个密钥分发中心 (KDC),最好有一个辅助 KDC,以防主要 KDC 不可用。 此外,如果您的 Kerberos 客户端位于不同的网络(可能由使用 NAT 的路由器分隔),那么在每个网络中放置一个辅助 KDC 是明智的。
1. 首先,安装软件包,并在询问 Kerberos 和管理服务器名称时输入主 KDC 的名称:
须藤 apt 安装 krb5-kdc krb5-admin-server
2. 安装软件包后,创建辅助 KDC 的主机主体。 在终端提示中,输入:
kadmin -q "addprinc -randkey 主机/kdc02.example.com"
之后,发出任何 kadmin 命令,系统将提示您输入用户名/ [电子邮件保护] 主密码。
3. 提取 密钥表 文件:
kadmin -q "ktadd -norandkey -k keytab.kdc02 主机/kdc02.example.com"
4. 现在应该有一个 密钥表.kdc02 在当前目录中,将文件移动到 /etc/krb5.keytab:
须藤 mv keytab.kdc02 /etc/krb5.keytab
如果路径为 密钥表.kdc02 文件不同,相应调整。
此外,您可以使用 klist 实用程序列出 Keytab 文件中的主体,这在故障排除时很有用:
须藤 klist -k /etc/krb5.keytab
-k 选项表示该文件是密钥表文件。
5.接下来,需要一个 kpropd文件 列出 Realm 的所有 KDC 的每个 KDC 上的文件。 例如,在主要和次要 KDC 上,创建 /etc/krb5kdc/kpropd.acl:
6. 创建一个空数据库 辅助 KDC:
须藤 kdb5_util -s 创建
7. 现在启动 kpropd 守护进程,它侦听来自 kprop 实用程序的连接。 kprop 用于传输转储文件:
须藤 kpropd -S
8. 从终端 主要 KDC, 创建主体数据库的转储文件:
须藤 kdb5_util 转储 /var/lib/krb5kdc/dump
9. 提取主 KDC 密钥表 文件并将其复制到 /etc/krb5.keytab:
kadmin -q "ktadd -k keytab.kdc01 主机/kdc01.example.com" sudo mv keytab.kdc01 /etc/krb5.keytab
确保有一个 主持人 HPMC胶囊 kdc01.example.com 在提取 Keytab 之前。
10. 使用 kprop 实用程序将数据库推送到辅助 KDC:
须藤 kprop -r 示例.COM -f /var/lib/krb5kdc/dump kdc02.example.com
应该有一个 成功 如果传播有效,则显示消息。 如果有错误信息检查 在/ var / log / syslog的 在辅助 KDC 上了解更多信息。
您可能还想创建一个 cron 作业来定期更新辅助 KDC 上的数据库。 例如,以下将每小时推送一次数据库(请注意,长行已被拆分以适应此文档的格式):
# mh dom mon dow 命令
0 * * * * /usr/sbin/kdb5_util 转储 /var/lib/krb5kdc/dump &&
/usr/sbin/kprop -rEXAMPLE.COM -f /var/lib/krb5kdc/dump kdc02.example.com
11. 回到 辅助 KDC, 创建一个 藏 保存 Kerberos 主密钥的文件:
须藤 kdb5_util 藏匿处
12. 最后,在辅助 KDC 上启动 krb5-kdc 守护进程:
须藤 systemctl 启动 krb5-kdc.service
这个 辅助 KDC 现在应该可以为 Realm 发行门票了。 您可以通过停止主 KDC 上的 krb5-kdc 守护程序,然后使用 kinit 请求票证来测试这一点。 如果一切顺利,你应该
从辅助 KDC 接收票证。 否则,检查 在/ var / log / syslog的 和 /var/log/auth.log 在辅助 KDC 中。