kerberos配置方法

原创
2017/07/18 16:21
阅读数 1.4K

客户端配置

kerberos客户端配置,理论上很简单。安装客户端程序,然后拿到正确的kerberos配置信息,理论上就可以使用kerberos来验证身份了。下面以red hat enterprise server 6.5为例,介绍一下kerberos客户端配置。

  1. 观察当前配置。

    在/etc/下发现了空的krb5.conf文件,怀疑已经预装kerberos客户端。

    执行klist,发现可以执行,证明客户端已经装好。

  2. 获取krb5.conf文件

    从一台kerberos服务器获取配置文件

    scp root@kerberos-master:/etc/krb5.conf /etc/krb5.conf
    
  3. 执行kinit

    执行kinit来验证身份,结果提示错误。

    #kinit mac@MCIPT.COM 
    kinit: Included profile directory could not be read while initializing Kerberos 5 library
    
  4. 错误分析

    $ strace kinit
    ...
    stat("/etc/krb5.conf.d/", 0x7ffd83a26fc0) = -1 ENOENT (No such file or directory)
    close(3)                                = 0
    write(2, "kinit: Included profile director"..., 52kinit: Included profile directory could not be read ) = 52
    write(2, "while initializing Kerberos 5 li"..., 37while initializing Kerberos 5 library) = 37
    write(2, "\n", 1
    )                       = 1
    exit_group(1)                           = ?
    +++ exited with 1 +++
    

    原来是/etc/krb5.conf.d目录没有建立。建立之后,故障排除

创建keytab文件

Keytab文件可用于应用帐号免密获取ticket。因为一般情况下,应用无法通过交互的方式去更新kerberos ticket。采用keytab,一条命令完成更新,是常规做法。接下来就介绍一下,如何制作keytab文件。

  1. Windows方案。

    如果采用AD作为KDC,那么就可以在AD端,通过执行ktpass命令,来生成keytab文件。 在active directory 端,打开dos 窗口,执行:

    #1.创建用户 mac@MCIPT,对应密码为 real_password
    ktpass /princ mac@MCIPT.COM /pass real_password /ptype KRB5_NT_PRINCIPAL /out mac.keytab
    
    #KDC中,对应的命令是
    #kadmin.local -q "addprinc -randkey mac@MCIPT.COM"
    #kadmin.local -q "xst -k /etc/security/keytabs/mac.keytab mac@MCIPT.COM"
    

    这里的real_password,一定是mac这个用户的真实密码。随便填,使用kinit的时候就会提示 preauthentication 失败。

  2. Linux方案

    通过ktutil命令,来生成一个所需的keytab文件。

    # ktutil
    ktutil:add_entry -password -p mac@MCIPT.COM -k 1 -e arcfour-hmac-md5 
    ktutil:wkt mac.keytab    
    
  3. 验证:

        kinit mac@MCIPT.COM -k -t mac.keytab
    
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部