安装 Kerberos 客户端
配置 hosts
1、配置集群 hosts 到 Windows(C:\Windows\System32\drivers\etc\hosts
);
2、调整windows环境变量,将系统环境变量 PATH 中的 C:\Program Files\MIT\Kerberos\bin
放置在最前边,建议放在 JDK 路径之前;
3、验证:需能 ping 通 kdc 机器域名和 IP 地址
下载 MIT Kerberos
链接:https://pan.baidu.com/s/1UaUUz75o1At9Osdc2NFTmA
提取码:7891
下载客户端,该客户端会在安装 klist/kinit/kdestory
等命令,并包含一个界面程序可调整认证信息。
- 安装建议可选择
Typical
方式,则默认会安装在C:
盘,如果更改路径,后续配置路径需对应修改 - 注意:需要重启机器
配置 krb5.ini
1、下载集群 Kerberos 配置文件(/etc/krb5.conf
) 到本机;
2、将配置文件重命名为 krb5.ini
;
3、注释配置文件中 linux 相关路径,删除 [logging]
项:
[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = HDP.DICT
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
#default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
[realms]
HDP.DICT = {
admin_server = bigdata129107
kdc = bigdata129107
}
4、将配置文件分发到以下三个目录(如修改过安装路径,请对应修改):
C:\ProgramData\MIT\Kerberos5\krb5.ini
C:\Program Files\MIT\Kerberos\krb5.ini
C:\Windows\krb5.ini
5、验证:在 dos 下执行 klist 需有命令且返回:
Credentials cache C:\Users\xxx\krb5cc_futen not found.
发起 Kerberos 认证
1、从管理员处获得认证 keytab 和对应 Principal;
2、执行 kinit 发起认证,例如:
kinit -kt D:\test\hdfs.headless.keytab hdfs-cluster1@HDP.DICT
3、检测 1:klist 命令检测认证缓存是否已经存在
4、检测 2:MIT 客户端界面已经包含认证信息
注意:如果客户端界面可以看到票据,但是klist看不到,点一下"Make Default"按钮再klist就有了。如果报错 too many parameters
可关闭 dos,重新打开再尝试。或者将 PATH 变量中的 Kerberos 参数移到最前面。
浏览器可信配置
注意:目前仅有Windows 环境仅火狐浏览器支持配置可信域名(请使用火狐较高版本)。
火狐浏览器
1、在浏览器输入 about:config
打开配置
2、输入 network.auth.use-sspi
,并点击切换到 false
3、输入 network.negotiate-auth.trusted-uris
,输入可信 URL 地址( 仅域名、IP ,也可带端口和 http,使用逗号分隔),例如:
http://192.168.129.107:8088,192.168.129.107,bigdata129107,bigdata129108
4、输入 network.negotiate-auth.delegation-uris
, 配置可信 URL 地址,例如:
192.168.128.107
认证并访问
访问认证界面
Mac
安装 Kerberos 客户端
略
浏览器可信配置
Chrome 浏览器
1、退出已经打开的 chrome 浏览器
2、在 执行 kinit 命令的同一个 Terminal 中 使用命令打开 chrome:
3、注意白名单即为可信 URL 地址:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --auth-server-whitelist="192.168.129.107"
注意,如果出现以下错误,请完全退出 chrome 浏览器,再安装上面步骤执行:
[14617:36099:0810/152439.802775:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
defaults write com.google.Chrome AuthServerWhitelist "*.domain.realm"
defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*.domain.realm"
bigdata128137
defaults write com.google.Chrome AuthServerWhitelist "*.bigdata128137"
defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*.bigdata128137"
参考
- https://zhuanlan.zhihu.com/p/51339470
- Impossible to open UI’s on Kerberized Cluster HDP 3.1