Kerberos Ticket管理


本章介绍如何管理您的Kerberos Ticket,这里的Ticket是指Ticket-Granting-Ticket(TGT),是您访问集群中服务的凭证。我们假设您已经有自己的principal和密码(或者keytab),如果您还没有这些信息,请联系您的系统管理员获取。下面的指令您可以在安装了Kerberos或Guardian的集群中任意一台机器上执行。

1. 获取Ticket: kinit

如果您当前的session中没有ticket或者ticket已过期,您都需要使用kinit指令来获取 ticket。您只需执行:

kinit <your_principal>

这里<your_principal>处提供您的principal并在系统提示下输入密码,即可获取一张ticket。

举例:Alice用户获取ticket:
[root@tw-node118 ~]# kinit alice@TDH
Password for alice@TDH:

如果您的密码存在keytab文件中并想要提供keytab文件进行认证,您需要执行:

kinit <your_principal> -kt <keytab_path>

这里<keytab_path>处提供您keytab文件的路径。这个路径可以是绝对路径也可以是相对路径。因为提供keytab文件就是在提供密码,所以您无需再输入密码。

举例:Alice用户通过提供keytab获取ticket:
[root@tw-node118 ~]# kinit alice@TDH -kt /root/.keytab

2. 查看Ticket: klist

要查看您当前的session是否有ticket以及ticket的有效期,您只需要在命令行执行klist。

举例:当前session没有ticket:
[root@tw-node118 ~]# klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)
举例:当前session有ticket:
[root@tw-node118 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: alice@TDH
Valid starting
Expires
11/26/15 19:04:19 11/27/15 05:04:19
renew until 12/03/15 19:04:19
Service principal
krbtgt/TDH@TDH

在这里您可以看到ticket的过期时间,如果根据这个信息当前session中的ticket已经过期,您是无法访问服务的。您需要使用kinit指令重新获取ticket。

3. 销毁Ticket: kdestroy

当您结束对集群服务的使用,可以用kdestroy指令手动销毁您的ticket,以防别人持您的ticket来使用您的数据和应用。

举例
[root@tw-node118 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: alice@TDH
Valid starting
Expires
11/26/15 19:11:31 11/27/15 05:11:31
renew until 12/03/15 19:11:31
[root@tw-node118 ~]# kdestroy
[root@tw-node118 ~]# klist
Service principal
krbtgt/TDH@TDH
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)

当前session没有ticket说明ticket已经被销毁。

05-11 17:54