从 Heimdal 迁移到 MIT Kerberos

从 Heimdal 迁移到 MIT Kerberos

是否有人知道任何现有文档、HOWTO、SE 问题,甚至是博客文章,其中展示了从 Heimdal 到 MIT KDC 的 Kerberos 数据库迁移示例?有没有人自己做过这个操作?如果有,你发现任何陷阱了吗,还是它只是起作用了?

H5l.org 已关闭,因此我正在寻找回程路线;我看到了以前一直在那里的 MIT 到 Heimdal 迁移文档 —— 现在重新阅读它们,它们暗示你应该能够双向进行,因此还有希望:http://web.archive.org/web/20160610142834/http://www.h5l.org/manual/HEAD/info/heimdal/Migration.html#Migration

答案1

以下是我目前所掌握的信息:

  1. 转储 Heimdal 数据库。根据旧 Heimdal 文档,应该可以使用 简单地以 MIT 格式转储数据库kadmin -l dump -f MIT。但我正在处理的 Heimdal 版本不支持 MIT 选项,所以我不得不先以默认格式转储数据库:
# on old Heimdal KDC:
kadmin -l dump > /tmp/h5l.dump
  1. 然后我使用 NORDUnet 的 Dockerfiles 通过 docker 构建临时的 Heimdal 和 MIT KDC:
# on e.g. laptop:
cd /tmp
git clone [email protected]:NORDUnet/krb5-docker.git
cd krb5-docker
docker build -f Dockerfile.heimdal -t heimdal-alpine .
docker build -f Dockerfile.mit -t krb5-alpine .
  1. 现在我们可以导入 Heimdal 默认文件格式并导出为 MIT:
# laptop:
mkdir /tmp/k5
rsync -avz old-kdc:/tmp/h5l.dump /tmp/k5/
docker run --rm -it -v /tmp/k5:/tmp/k5 heimdal-alpine
docker ps # get container ID
docker exec -it b4e57b1bdb9f sh
# in heimdal-alpine container:
kadmin -l load /tmp/k5/h5l.dump
kadmin -l dump -f MIT /tmp/k5/mit.dump
  1. 现在我们应该有一个很好的 MIT 格式的转储文件。为了测试这一点,我使用了 MIT 容器:
# laptop
docker run --rm -it -v /tmp/k5:/tmp/k5 mit-alpine
docker ps # get container ID
docker exec -it 3721be560d8f sh
# in mit-alpine container:
kdb5_util load -verbose /tmp/k5/mit.dump 

几乎有效。该“load”命令以零返回代码退出,但显示kdb5_util dumpNo such entry in the database while retrieving master entrystdout 上没有任何内容。我确定我没有正确启动容器,没有正确初始化它们的数据库,需要对主体和/或密钥表进行一些操作。已经很晚了,所以我现在要点击提交,下次有机会再试一次。

相关内容