文档章节

Kerberos的那些报错汇总

问津已非少年
 问津已非少年
发布于 2017/08/16 11:45
字数 738
阅读 23
收藏 0

案例一:多线程访问启用了Kerberos的服务报错

情景:有一个采用了Kerberos认证的web服务,使用Jmeter对其进行压测,在web的日志里看到如下报错

错误如下GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34)) Caused by: KrbException: Request is a replay (34)

错误原因:当有 多个 客户端使用 同一principal 同时 向KDC请求认证的时候,Kerberos在 同一时间 能且仅能允许 一个 客户端通过认证!

这样就导致其他线程的连接是无法通过认证的,因而抛出上面的异常。所以在有大量需授权的任务的时候,最好每台机器使用不同的principal,避免多线程使用同一principal请求。

案例二: 证书已过期

错误如下GSSException: Failure unspecified at GSS-API level (Mechanism level: Specified version of key is not available (44))

错误原因:当前的keytab证书无效,keytab里存储的key已过期,这个通常是因为在KDC里重新导出过证书,而在导出证书的时候重新生成了密钥,需要把新的keytab文件拷贝过来重新kinit,或者导出证书的时候加上 -norandkey

案例三:没有证书

错误如下GSS initiate failed

错误原因:运行程序或请求服务时没有执行kinit操作,或程序里没有使用keytab和principal进行login

案例四:服务请求中没有证书

错误如下GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "node2.xxx.com/172.21.0.189"; destination host is: "node1.xxx.com":8020;

错误原因:这个跟案例三的错误是一样的,都属于是没有证书,但是这里的更详细,我们需要学会去看到底是哪出了问题。从Host Details可以看出是node2向node3发起请求的时候认证不通过,那么说明是node2上没有证书,其次请求的端口是8020,由此可以看出是请求的HDFS服务,因为可以很快定位出问题在哪

案例五:时间不同步

错误如下GSSException: ClockSkew,这个错误由于当时没记下来,只记得这个clockskew的关键词,所以不完整

错误原因:从关键词可以看出,是时钟倾斜了,说明客户端和服务端的时间是不同步的,Kerberos有一个可允许的时间差,机器时间超过这个设定的时间差就会报错,把时间进行同步就好了

欢迎阅读转载,转载请注明出处:https://my.oschina.net/u/2539801/blog/1511055

© 著作权归作者所有

共有 人打赏支持
问津已非少年
粉丝 16
博文 21
码字总数 33944
作品 0
海淀
程序员
Cloudera Manager启用Kerberos失败问题求助

CDH版本5.7。 cloudera manager上启用Kerberos失败,配置文件如下: /etc/krb5.conf [libdefaults] default_realm = BIGDATA.COM dnslookuprealm = false dnslookupkdc = false ticket_life......

天降飞猫
2017/08/01
35
0
freeipa kinit 报错处理

freeipa 在添加用户时输入 kinit 报错,kinit: Client '' not found in Kerberos database while getting initial credentials,找不到kerberos 数据库。输入kinit admin 即可。...

酒瓶不倒
2014/12/12
0
0
解决安装mongoose时,node-gyp报错问题

安装mongoose是系统报错,显示找不到: 解决方法,安装缺少的库:

chenjihua
2016/01/03
48
0
centos6和centos7手动扩展PHP的IMAP模块

一、centos6.7 x64上手动扩展PHP的IMAP模块 1、准备 yum install -y libc-client-devel ln -s /usr/lib64/libc-client.so /usr/lib/libc-client.so ln -s /usr/lib64/libkrb5.so /usr/lib/li......

M四月天
2017/02/10
0
0
SQL Server配置delegation实现double-hop

参考文献 SQL Kerberos的原理及实验 SQL Server native client与sqlcmd单独安装 前言 在上一篇博客SQL Kerberos的原理及实验中讲到了windows验证的两种模式分别是NTLM和Kerberos,那么他们有...

嗯哼9925
2017/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 事件

ContextRefreshedEvent Event raised when an {@code ApplicationContext} gets initialized or refreshed. ContextClosedEvent Event raised when an {@code ApplicationContext} gets clos......

Canaan_
35分钟前
1
0
leetcode两数之和

leetcode中求两数之和解决方法 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 给定 nums = [2, 7, 11, ...

lar555
52分钟前
1
0
js实现限制网页内容复制

转载 在我们做的网页发到网上后,如果访客看到比较喜欢的内容,只要复制就可以变为自己的,自己辛辛苦苦弄半天还不及人家的一下复制,有时为了只让访客看到,而不能让它们复制内容,就用Jav...

lc_comeon
56分钟前
1
0
jenkins将spring boot项目发布到阿里云镜像中

1、spring boot项目 1.1 pom.xml配置 <artifactId>xxx-docker</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.......

xixingzhe
今天
0
0
qsv格式可以在电视上播放吗

  大家都知道qsv格式是爱奇艺的独家缓存格式,是加密的,一般的播放器是无法播放的,只能在爱奇艺播放器上播放,如果想要在电视上播放,就必须要安装爱奇艺播放器,比较麻烦。其实还有一种...

萤火的萤火
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部