2 台 Centos7主机 部署 Kerberos Client
说明:
说明:
其中,[-s]表示生成stash file,并在其中存储master server key(krb5kdc);还可以用[-r]来指定一个realm name —— 当krb5.conf中定义了多个realm时才是必要的。
kadm5.acl 文件更多内容基亏可参考: kadm5.acl
想要管理 KDC 的资料库有两种方式, 一种直搏裤神接在 KDC 本机上面直接执行,可以不需要密码就登入资料库管理;一种则是需要输入账号密码才能管理~这两种方式分别是:
先配置下root/admin密码
新加用户hd1:
注:输入?,可以查看所有命令的用法
用hd1登录:
删除当前的认证的缓存
强制更新ticket
生成keytab
注意:生成keytab后,密码被修改了,无法再用之前输入密码登录了
如果想要密码不变,需要按照以下方式做,必须是纯茄kadmin.local
否则
登录
合并keytab文件
可以查看keytab文件内容
一、windows上使用kerberos进入访问集群( https://blog.csdn.net/hadoop_sc/article/details/84108404 )
1.步骤:
(1)在windows上安装了kerberos的客户端后,
(2)将KDC Server服务器上/ect/krb5.conf文件中的部分内容,拷贝到krb5.ini文件,然后重启kerberos客户端
(3)在Window下使用kinit测试
1)KDC Server上通过admin创建一个用户:
sudo kadmin.local
创建用户:addprinc znn@HADOOP. COM
设置密码:123456
创建成功
2)启动Windows上的kerberos客户端,get ticket,输入新创建的用户
3)销毁获取到的Ticket
选中列表中需要销毁的Ticket,点击Destroy Ticket,客户端没有principal
4)命令行下初始化,在cmd中安装kerberos客户端的目录下,执行kinit znn@HADOOP.COM,
刷新一下客户端,就可以看到principal了,见下图
5)命令行下kdestroy
(4)使用Keytab文件登录Kerberos
1)在KDC Server创建一个keytab文件,使用上一步创建的 znn@HADOOP.C OM
sudo kadmin.local
创建keytab:xst -norandkey -k znn123.keytab znn@HADOOP.C OM
注意:创建的znn123.keytab,默认放置在/etc/security/keytabs
在生成keytab文件时需要加参数”-norandkey”否则会导致,直接使用kinit test@CLOUDERA.com初始化时会提示密码错误。
2)测试znn123.keytab文件
注意:在非root用户下需要将生成的keytab文件,权限设置到644以上,否则会初始化失败或者使用sudo权限初始化
3)将生成的test.keytab文件拷贝到Windows Server上,在CMD命令行进行初始化
(5)在火狐上访问集群的hdfs路径
1)直接访问hdfs的50070页面时,会d出kerberos的客户端冲配提示页面(前提是打开kerberos的客户端)
由于此时未将hdfs的ticket初始化所以不能正常访问,提示输入principal和密码
2)在集群的57服务器上找到hdfs的keytab文件hdfs.headless.keytab
3)在服务器上测试该keytab文件有效
kadmin.local
listprincs hdfs*
注意:可以使用listprincs列出的hdfs身份进行初始化
4)将hdfs.keytab文件拷贝到Windows机器上,通过CMD命令进行初始化
5)再次通过FireFox浏览器访问HDFS服务,正常访问
2.在此过程中遇到的问题:
(1)get ticket时,提示:Kerberos 5:Cannot find KDC for requested realm(error-1765328230)
原因是:在旧的集群10.247.33.57上创建的用户,但是本地的krb5.ini文件中配置的是新集群散神指10.247.32.247的/etc/瞎岩krb5.conf文件中的内容,所以提示该错误
解决办法:
修改本地的krb5.ini文件,复制老集群的文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)