Kerberos化http接口访问
一,Linux ,Mac os 环境下curl 命令访问
1.1, 拷贝 服务器上的 /etc/krb5.conf 文件还至目标电脑上。
涉及到路径的配置项,要么配置成实际存在的路径,要么全注释掉使用默认值。
renew_lifetime = 7d 最好去掉,容易导致奇怪的问题,原因未知。
1.2, 执行kinit 获取票据,curl访问接口
curl -i --negotiate -u:${principls} -X GET ${URL}
二,mac 环境下使用浏览器访问Kerberos 化 UI
2.1 拷贝/etc/krb5.conf 文件,执行kinit
同上步骤
2.2 safari浏览器
Safari支持kerberos,认证成功后不需要做任何操作,直接打开界面就可以了。
2.3 Chrome浏览器打开界面
执行如下命令:
defaults write com.google.Chrome AuthServerWhitelist "*"
defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*"
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --auth-server-whitelist="*"
“/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome”
是你Chrome浏览器实际的安装路径。
三,windows环境下使用浏览器访问Kerberos 化 UI
windows 环境下 目前只支持Firefox浏览器。
3.1 下载安装 KerberosTicket Manager
下载地址:http://web.mit.edu/kerberos/dist/kfw/4.1/kfw-4.1-amd64.msi
3.2 拷贝集群里的/etc/krb5.conf文件到本地 并改名为krb5.ini,其中与路径相关的注释掉或者配置成本地的路径,不然启动报错。
3.3 添加环境变量KRB5_CONFIG,KRB5CCNAME。
KRB5_CONFIG 指向3.2中提到的krb5.ini 文件
KRB5_CONFIG: 随意指向一个存在的目录就行,用来在其中保存一些缓存信息。
3.4 配置Firefox浏览器
打开浏览器,在地址栏输入about:config
在搜索栏依次输入下面5个参数,进行相应修改并保存
1)network.negotiate-auth.trusted-uris = .edu.org(此处根据krb5.ini文件中的realms值修改)
2)network.negotiate-auth.using-native-gsslib = false
3)network.negotiate-auth.gsslib =C:\Program Files\MIT\Kerberos\bin\gssapi64.dll
4)network.auth.use-sspi = false
5)network.negotiate-auth.allow-non-fqdn = true
3.5 , 打开KerberosTicket Manager 获取票据
启动Firefox访问页面