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已经被销毁。

Kerberos Ticket管理的更多相关文章

  1. Kerberos ticket lifetime及其它

    前言 之前的博文中涉及到了Kerberos的内容,这里对Kerberos ticket lifetime相关的内容做一个补充. ticket lifetime Kerberos ticket具有lif ...

  2. CLIENT_0004:Unable to find valid Kerberos ticket cache (kinit)

    背景 今天在使用JavaAPI来连接sqoop1.99.7的时候,遇到了个错误. 错误信息如下: 0 [main] WARN org.apache.hadoop.util.NativeCodeLoad ...

  3. [Kerberos] User Ticket Management

    Kerberos客户端常用命令包括 kinit, klist, kdestroy, and kpasswd,用户使用这些命令管理自己的 ticket. 此外,每台运行Kerberos的机器应该都配置/ ...

  4. 【管理工具】Kerberos简单应用

    Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证.可以用于防止窃听 ...

  5. 浅析Kerberos原理,及其应用和管理

    文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/5269739.html  转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...

  6. Kerberos简介及常见问题

    基本描述 Kerberos使用Needha-Schroeder协议作为它的基础.它使用了一个由两个独立的逻辑部分:认证服务器和票据授权服务器组成的"可信赖的第三方",术语称为密钥分 ...

  7. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry1.点击“操作”,“添加服务”:2.选择sen ...

  8. Kerberos安装及使用

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 2. 安装 Kerberos2.1. 环境配置 安装kerberos前,要确保主机名可以被解析. 主机名 内网IP 角色 ...

  9. 【大数据安全】Kerberos集群安装配置

    1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份.它也指由麻省理工实现此协议,并发布的一套免费软件.它的设计主要针对 ...

随机推荐

  1. JSONUtil.bean2Json()报Property 'key' of class has no read method. SKIPPED的问题处理

    错误警告信息描述: net.sf.json.JSONObject.defaultBeanProcessing(JSONObject.java:) Property 'handler' of class ...

  2. Java 实例

    Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实 ...

  3. python的偏函数(partial)

    偏函数就是固定原函数的某个参数,比如newadd就是固定了add方法的第一个参数,让a=3,这样对newadd方法只要传入参数B就可以实现add方法了,刚看偏函数的写法可能会不适应,因为partial ...

  4. Django的Form、CSRF、cookie和session

    Django是一个大而全的web框架,为我们提供了很多实用的功能,本文主要介绍Form.CSRF.cookie和session 一.Form 在web页面中form表单是重要的组成部分,为了数据安全和 ...

  5. vuex mapActions

    在组件中使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用( ...

  6. 程序员必备SQL语句优化技巧

    1.任何地方都不要使用 select * from t ,用具体的字段列表代替"*",不要返回用不到的任何字段. 2.尽量使用数字型字段,字符型会降低查询和连接的性能,并会增加存储 ...

  7. MQTT--topic

    1.topic  定阅与发布必须要有主题,只有当定阅了某个主题后,才能收到相应主题的payload,才能进行通信. 2. 主题层级分隔符—“/”  主题层级分隔符使得主题名结构化.如果存在分隔符,它将 ...

  8. SpringCloud系列四:实现Eureka Server的高可用并将应用注册到Eureka Sever集群上

    1. 回顾 上一篇博客中,实现了单节点的Eureka Server.Eureka Client会定时连接Eureka Server,获取注册表中的信息并缓存到本地.微服务在消费远程API时总是使用本地 ...

  9. lua学习笔记(十一)

      面向对象编程    对象的实现     在lua中table就是一种对象         1.有自己的状态         2.有自己的唯一标识self         3.有自己的生命周期   ...

  10. 在集群中使用文件加载graph

    从hdfs上加载文件并创建graph scala> var graphs = GraphLoader.edgeListFile(sc,"/tmp/dataTest/graphTest. ...