windows传真和扫描由于不能访问您的文档_0706-6.2.0-Windows Kerberos客户端配置并访问CDH...

​文档编写目的

在使用CDH的过程中,集群启用了Kerberos认证后,集群中的一些组件的Web UI也会启用Kerberos认证,例如HDFS、Yarn、Hive等组件,此时如果在Windows上对这些页面进行访问,是无法正常访问的,需要在Windows本地安装上Kerberos客户端,并进行配置后才能够访问这些需要Kerberos认证的Web UI,本文档将介绍如何在Windows 10安装Kerberos客户端并配置FireFox浏览器访问CDH集群组件的Web UI。

  • 测试环境:

1.CM和CDH版本为6.2.0

2.本地操作系统环境为Windows10

3.集群服务均正常运行

4.集群启用Kerberos

5.集群操作系统版本为RedHat7.2

Kerberos安装

1.在Kerberos官网下载安装包,下载地址:

http://web.mit.edu/kerberos/dist/
1879f383a3c27f530f2a36a8be4f700a.png

2.本文档下载了64位的 安装包,下面按步骤进行安装

d5e0457c12330450424fec9ebb9d2d59.png
7609f52125656d0bdb0568431b09dfd9.png
6cb0198ef275e011a3a302fa72c92cee.png
05dce16bba891086a04a1c80c5f133bd.png
5581cbab464832a92120188c425393fa.png

至此安装完成

3.配置C:ProgramDataMITKerberos5krb5.ini文件

e226823ceeb4e84bdd61b8b4c6c9a445.png

将安装KDC Server的服务器上的/etc/krb5.conf配置文件中的部分内容拷贝到该文件中

7cd57d1b566e0e55fcd559b8bea10de2.png

注意:不要直接替换krb5.ini文件,否则会出现文件格式问题,建议拷贝部分内容到krb5.ini文件中,然后保存文件

4.配置完成后,启动MIT Kerberos客户端,如下图所示:

5d52a97b2125048490dfda030b05b693.png

在Windows下使用kinit测试

1.在KDC Server上创建一个用户

[root@cdh178 ~]# kadmin.local Authenticating as principal solr/admin@MACRO.COM with password.kadmin.local: addprinc test_krbWARNING: no policy specified for test_krb@MACRO.COM; defaulting to no policyEnter password for principal "test_krb@MACRO.COM": Re-enter password for principal "test_krb@MACRO.COM": Principal "test_krb@MACRO.COM" created.
4cd304f664cf0b5b62954e10a715fda0.png

测试正常

bebba4d7907cb86f8b859b2de9a68cc8.png

2.在Winodw端,通过MIT Kerberos客户Get Ticket

67aa48843b7f2e296cf643d78e9d9576.png

在如下列表中可以看到获取的ticket

123c416bd7c0c36f6377fc0e33e82a8b.png

3.销毁获取到的Ticket

b03fac2245ae256a85054bb4234b83c4.png
f9c8d982b11cd7777c09ecb56668abba.png

4.命令行下初始化

6f4744a51ad78b52ce4cc207a1dd4607.png

在客户端可以看到初始化成功的Ticket

0186b147b794aac09d37c07856423e1b.png

5.命令行下kdestroy

d5ed8493866693d5cce4583848428721.png

客户端数据已kdestroy

db204a78102ca54b617b7658699e5119.png

使用keytab文件测试Kerberos

1.在KDC Server上生成keytab文件,使用test_krb@MACRO.COM账号

[root@cdh178 ~]# kadmin.local Authenticating as principal test_krb/admin@MACRO.COM with password.kadmin.local: xst -norandkey -k test_krb.keytab test_krb@MACRO.COMEntry for principal test_krb@MACRO.COM with kvno 1, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type des3-cbc-sha1 added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type arcfour-hmac added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type camellia256-cts-cmac added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type camellia128-cts-cmac added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type des-hmac-sha1 added to keytab WRFILE:test_krb.keytab.Entry for principal test_krb@MACRO.COM with kvno 1, encryption type des-cbc-md5 added to keytab WRFILE:test_krb.keytab.

生成成功

d1f35ae2582e5634a46146c26de5d0a9.png
859ff4d36fabe2454686c99633bafc57.png

测试keytab文件

1032b1b855b1c5b8d887e6294531279d.png

测试成功

2.将生成的keytab文件拷贝到本地Windows环境,进行kinit测试

18152ed2f35ce9dbb3db13c63feda2ad.png

初始化成功,在客户端查看

ac3c3c391f8b1e6c8bfc3aecee173218.png

配置FireFox浏览器访问

1.打开FireFox浏览器,在地址栏输入about:config

e3a1fad1407b62621ae0c3aca3b585d9.png

2.修改配置

network.negotiate-auth.trusted-uris = cdh178.macro.com,cdh177.macro.com,cdh176.macro.comnetwork.auth.use-sspi = false

network.negotiate-auth.trusted-uris这个参数配置的是访问服务的hostname,配置多个的话以“,”分隔

10e2a7577406f23c7f7f0f6dfc39393c.png
dae0a4e743ccd48bf7324fb625f8b29b.png

测试访问集群服务

6.1 测试访问HDFS和Yarn

1.由于此时未初始化HDFS的Ticket,所以无法访问

960443ef272c4d26b4c9ee77d23688a3.png

2.进入到/var/run/cloudera-scm-agent目录下,到最新的HDFS的目录中找到HDFS的keytab文件

a500a23bad9aa6858171d7568137e348.png
8185f0c781a3e9359e37bc7728356b2b.png

3.测试HDFS的keytab文件是否能够正常使用

[root@cdh177 1298-hdfs-NAMENODE]# kinit -kt hdfs.keytab hdfs/cdh177.macro.com@MACRO.COM[root@cdh177 1298-hdfs-NAMENODE]# klistTicket cache: FILE:/tmp/krb5cc_0Default principal: hdfs/cdh177.macro.com@MACRO.COMValid starting Expires Service principal08/04/2019 10:08:39 08/05/2019 10:08:39 krbtgt/MACRO.COM@MACRO.COM renew until 08/09/2019 10:08:39
48c3adbeab4e00b22c35bbf6dbddcd6d.png

初始化成功

4.将HDFS的keytab文件拷贝到Windows本地,并进行kinit

7704772d80578c46b1bba236a4466620.png
44aa5e630e5b99c8c86e22172f8cc438.png

5.再次通过FireFox访问HDFS服务,能够正常访问

0831ab2dd40e69083075f07d01368855.png

6.访问Yarn资源管理服务,访问正常

aca339d1dc03fe555e147b93c0ea971d.png
e1e859ffa21c9c1ad760eb1674886afb.png

6.2 keytab合并使用

1.将需要合并的keytab文件同意的放在同一个目录下

cb440f8e2d216fb662cdb732109175b0.png

2.使用ktutil命令合并keytab文件,操作如下:

[root@cdh177 0804]# ktutil ktutil: rkt hbase.keytabktutil: rkt hdfs.keytabktutil: rkt hive.keytabktutil: rkt yarn.keytabktutil: wkt test-new.keytabktutil: exit
0fb2b0ca068243579268a34299579ffa.png

keytab合并成功,默认生成的keytab文件权限是600,如果事应非root用户执行需要注意权限问题

3.将生成的合并后的keytab文件拷贝到本地Windows环境进行测试

使用hdfs凭证进行初始化

b361e9b12294842e90384db9f1a1655e.png

访问HDFS服务成功

00e340a408c82d031c0de7ed37e754fc.png

使用hive凭证进行初始化

f05ec95856c3fee92dd5db085edd5ed2.png

访问HDFS服务成功

c740448b45f995e2117933d8ffa7dd69.png

使用hbase凭证进行初始化

60070317c8bbed24c8143baa42e32023.png

访问HDFS服务成功

8410a2912ded18f9f358f753a3d0b316.png

使用yarn凭证进行初始化

32fd28ebdd240f5b796279665fd364b0.png

访问HDFS服务成功

48ea55219c6ea21a02f3f4a88cb5a0b4.png

通过测试可以看出,使用合并后的keytab文件,无论用哪个系统用户的身份进行认证,配置成功后都能够通过FireFox浏览器访问服务的页面

总结

1.Windows本地的krb5.ini文件不能直接使用krb5.conf文件更名替换,否则会出现文件格式的问题导致MIT Kerberos客户端无法正常启动。

2.在生成keytab文件时需要加上”-norandkey”参数,否则会导致kinit时密码错误。

3.在Windows本地安装了Java环境后,由于Java里也有kinit、klist等命令,所以需要在Path环境变量里面,将Kerberos的环境变量位置调整到Java环境变量的前面,保证在Windows本地使用的kinit、klist等命令是使用的Kerberos的命令,否则就会导致命令冲突,如下图,将Kerberos的环境变量调整到最前面即可。

c1e7dbaf5453bf7cb8c7f06e85ba80e4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值