kerberos 单向信任 和 双向互信
双向互信
下面建立两个领域 AMBARI.APACHE.ORG
域 APACHE.ORG
之间的跨域信任。之后,用 kinit 登录领域 APACHE.ORG
,再用 curl 访问上面的属于 AMBARI.APACHE.ORG
领域的链接。
为了建立两个领域的互信,需要在两个领域的 KDC 中分别创建两个特殊的主体 principal:
krbtgt/APACHE.ORG@AMBAIR.APACHE.ORG
krbtgt/AMBARI.APACHE.ORG@APACHE.ORG
具体的操作如下:
$ vagrant ssh c7301
$ sudo su - root
$ kadmin.local -q "addprinc -pw 1 krbtgt/APACHE.ORG@AMBAIR.APACHE.ORG"
$ kadmin.local -q "addprinc -pw 1 krbtgt/AMBARI.APACHE.ORG@APACHE.ORG"
$ vagrant ssh c7304 (执行这个命令前先退出VM c7301)
$ sudo su - root
$ kadmin.local -q "addprinc -pw 1 krbtgt/APACHE.ORG@AMBAIR.APACHE.ORG"
$ kadmin.local -q "addprinc -pw 1 krbtgt/AMBARI.APACHE.ORG@APACHE.ORG"
测试一下跨域互信。在c7304上执行:
$ kinit root/admin@APACHE.ORG
$ curl --negotiate -u : http://c7301.ambari.apache.org:50070/webhdfs/v1/user?op=LISTSTATUS
{"FileStatuses":{"FileStatus":[
(下略)
从上面可以看出,虽然kinit登录的是APACHE.ORG,却可以访问AMBARI.APACHE.ORG的资源。
单向信任
下面试图建立一个单向信任关系:AMBARI.APACHE.ORG信任APACHE.ORG。
先用delprinc
将上文创建了4个krbtgt
主体删除。然后在c7301、c7304上分别执行:
$ kadmin.local -q "addprinc -pw 1 krbtgt/AMBARI.APACHE.ORG@APACHE.ORG"
两个主体的密码要一样。在c7304上执行:
$ kinit root/admin@APACHE.ORG
$ curl --negotiate -u : http://c7301.ambari.apache.org:50070/webhdfs/v1/user?op=LISTSTATUS
{"FileStatuses":{"FileStatus":[
(下略)
可以看到,建立单向互信只需要建立两个主体。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论