Kerberos常见问题处理
- Kerberos常见问题处理
- Sync Kerberos database步骤报错
- cannot contact any kdc for requested realm while getting initial credentials
- Cannot set GSSAPI authentication names, aborting
- kdb5_util: Password mismatch while reading master key from keyboard
- kdb5_util: Required parameters in kdc.conf missing while initializing kerberos admin interface
- kadmin.local: Required parameters in kdc.conf missing while initializing kadmin.local interface
- kadmin.local: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/principal': No such file or directory while initializing kadmin.local interface
- (Error): WARNING! Cannot find dictionary file /yinzhengjie/softwares/kerberos/data/dict/words, continuing without one.
- Couldn't open log file ${KERBEROS_HOME}/logs/kadmind.log: No such file or directory
- kdb5_util: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal': File exists while creating database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal'
- kadmind: Cannot allocate memory while initializing network, aborting
Kerberos常见问题处理
官方故障排除案例
https://web.mit.edu/kerberos/krb5-latest/doc/admin/troubleshoot.html
Sync Kerberos database步骤报错
解决方案
1)检查/etc/hosts的ip映射配置 2)检查是否重装因为脏数据未清理
cannot contact any kdc for requested realm while getting initial credentials
解决方案
root用户部署时需要将默认端口改到1024以下
Cannot set GSSAPI authentication names, aborting
解决方案
域缺少 kadmin/admin 或 kadmin/changepw principal
kdb5_util: Password mismatch while reading master key from keyboard
错误原因
在初始化Kerberos数据库时需要输入密码,2次密码输入不一致就会导致该错误。
解决方案
重新执行"kdb5_util -r YINZHENGJIE.COM create -s"指令,输入2次相同的密码即可。
kdb5_util: Required parameters in kdc.conf missing while initializing kerberos admin interface
错误原因
一般情况下出现在配置文件(kdc.conf)中的"supported_enctypes"的某个加密类型不可用。
解决方案
下面我针对"supported_enctypes"做了修改,大家可以做个对比。使用修改后的参数问题得到解决,之所以贴出来修改后的是为了提供一个参考。
修改前:
supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
修改后:
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal
kadmin.local: Required parameters in kdc.conf missing while initializing kadmin.local interface
错误原因
一般情况下出现在配置文件(kdc.conf)中的"supported_enctypes"的某个加密类型不可用。
解决方案
参考问题5
kadmin.local: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/principal': No such file or directory while initializing kadmin.local interface
错误原因
报错很明显提示咱们找不到DB数据库相关信息。一般情况下是我们在安装Kerberos时没有做数据库初始化操作。
解决方案
注意观察KDC配置文件("kdc.conf")的"database_name"属性。当我们对Kerberos数据库做了初始化操作时,对生成对应的文件哟~
初始化Kerberos数据库的命令如下:
kdb5_util -r YINZHENGJIE.COM create -s
(Error): WARNING! Cannot find dictionary file /yinzhengjie/softwares/kerberos/data/dict/words, continuing without one.
错误原因
根据日志的报错信息可判断,是因为没有对应的文件(由kdc.conf配置文件的"dict_file"标签指定路径)导致的报错信息,但这并不影响您启动程序。
解决方案
创建响应的文件即可
[root@kdc.yinzhengjie.com ~]# mkdir -pv /yinzhengjie/softwares/kerberos/data/dict
mkdir: created directory ‘/yinzhengjie/softwares/kerberos/data/dict’
[root@kdc.yinzhengjie.com ~]#
[root@kdc.yinzhengjie.com ~]# vim /yinzhengjie/softwares/kerberos/data/dict/words
[root@kdc.yinzhengjie.com ~]#
[root@kdc.yinzhengjie.com ~]# cat /yinzhengjie/softwares/kerberos/data/dict/words
123456
Couldn't open log file ${KERBEROS_HOME}/logs/kadmind.log: No such file or directory
错误原因
一般是krb5.conf配置文件中的[logging]的"admin_server"标签对应的路径并不存在,建议写绝对路径,若写自定义的Linux变量可能不会被识别哟!
解决方案
指定绝对路径即可,下面是我修改krb5.conf配置文件的过程。
修改前:
[logging]
default = FILE:${KERBEROS_HOME}/logs/krb5libs.log
kdc = FILE:${KERBEROS_HOME}/logs/krb5kdc.log
admin_server = FILE:${KERBEROS_HOME}/logs/kadmind.log
修改后:
[logging]
default = FILE:/yinzhengjie/softwares/kerberos/logs/krb5libs.log
kdc = FILE:/yinzhengjie/softwares/kerberos/logs/krb5kdc.log
admin_server = FILE:/yinzhengjie/softwares/kerberos/logs/kadmind.log
kdb5_util: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal': File exists while creating database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal'
错误原因
数据库已经存在。 Kerberos的数据库初始化一次即可,无需初始化第二次,若你的管理员密码忘记了那就得重新初始化了,但这意味之前的数据必须全部删除。生产环境中要慎重啊!
解决方案
方案一: 删除已存在的数据库文件,重新执行初始化操作,这意味着之前的所有数据全部丢失!生产环境要慎重哟,尽量避免不要这样干! 方案二: 放弃重新初始化操作,因为已经存在数据库文件了,直接使用现有数据库即可,除非你不得不重新初始化操作(比如忘记了KDC管理员的密码)!
以上内容对您是否有帮助?