一 Kerberos的三个角色
Kerberos主要是有三个重要的角色:
1、访问服务的Client
2、提供服务的Server
3、KDC(Key Distribution Center)密钥分发中心,其中报错AS(authorization server)和TGS(ticket granting server)
上图 AD其实类似于一个本机的一个数据库,存储所有client的白名单。
二 Kerberos的认证流程
根据上图我们梳理胰腺癌Kerberos的具体认证流程:
1、首先client表明需求并使用密码对请求进行加密,去访问KDC中AS,AS用提供的密码对请求进行解密后得到请求内容,返回给client一个TGT(ticket granting tickets)(加密的)
2、client得到TGT后使用TGT去访问TGS,TGS验证TGT后(使用密钥解密)返回Ticket给client
3、client得到ticket后去访问server,server收到ticket和KDC进行验证,验证通过后提供服务。
需要注意:Kerberos每次认证都有一个认证允许访问时间,也就是client认证通过后,下次访问如果在还在允许访问时间内,那样就不用再次认证了。
我们简单的举个生活中例子来理解:
比如现在疫情期间去公园玩,需要提前一天预约,你在网上预约后,会给你一个预约信息,第二天拿着预约信息去售票处买票,售票处会给你一张公园门票,你拿着门票去公园入口刷门票才能进入公园。
在去公园玩的流程中
1、网上预约返回给你一个预约信息这个过程就相当于client(你)去访问AS(网上预约中心),AS返回给client一个TGT(预约信息)
2、你拿着预约信息去售票处买票,售票处给你一张票这个过程就相当于client(你)使用TGT(预约信息)去访问TGS(售票处),TGS返回client一个Ticket(公园门票)
3、你拿着门票去刷票入园就相当于client(你)用ticket(公园门票)去server(公园入口),server收到ticket和KDC(检票机)进行验证,通过才能访问
4、门票的时间是一天,相当于Kerberos的允许访问时间,你进公园再出来,当天在进公园就不需要再去预约,买票了,只需要去刷票进去就行。
三 Kerberos的搭建
客户方都是搭建好的,有需求再更新
四 Kerberos的使用
1、需要知道两个重要文件,krb5.conf里边是Kerberos的配置信息,***.keytab文件可以理解问ticket钥匙(公园门票)
2、Kerberos的账户样式:用户名/instance@域名 (域名大写)文章来源:https://www.toymoban.com/news/detail-516333.html
3、客户端进行kerberos认证的方法(一些在客户现场可能用到的简单操作):文章来源地址https://www.toymoban.com/news/detail-516333.html
#(例如kerberos用户为:test/admin@KYLIN.COM)
#客户端使用kerberos先执行下边命令获取ticket
kinit test/admin@KYLIN.COM
然后需要输入用户密码
#输入密码后执行klist命令查看ticket信息
#为账户创建.keytab文件
#首先需要先进入Kerberos的admin后台,执行
kadmin
#创建用户test/admin@KYLIN.COM的免密登陆keytab文件
ktadd -k {keytab文件路径}/test.keytab
#又keytab文件后可以指定keytab文件进行免密认证
kinit -kt {路径}/test.keytab test/admin@KYLIN.COM
#再执行klist查看时候认证成功,成功后返回ticket信息
到了这里,关于Kerberos认证流程及基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!