美文网首页
kerberos 小结

kerberos 小结

作者: 杰杰微电 | 来源:发表于2018-09-21 09:55 被阅读0次

    一。安装kerberos   ( centos 7)

    kdc :      yum install krb5-server krb5-libs  krb5-workstation

    client:     yum install krb5-libs  krb5-workstation

    二。  修改hosts 文件,所有需要kerberos 的主机都添加在 /etc/hosts 文件当中

    三。 修改krb5.conf 

    vim /etc/krb5.conf

    [libdefaults]

    renew_lifetime = 7d

    forwardable = true

    default_realm = HADOOP.COM

    ticket_lifetime = 24h

    dns_lookup_realm = false

    dns_lookup_kdc = false

    #default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

    #default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

    [logging]

    default = FILE:/var/log/krb5kdc.log

    admin_server = FILE:/var/log/kadmind.log

    kdc = FILE:/var/log/krb5kdc.log

    [realms]

    HADOOP.COM= {

    admin_server =bd0000

    kdc =bd0000

      }

    将服务端修改好的krb5.conf文件拷贝到所有的客户端

    scp /etc/krb5.conf root@bd0001:/etc/

    scp /etc/krb5.conf root@bd0002:/etc/

    scp /etc/krb5.conf root@bd0003:/etc/

    四。修改 kdc.conf 文件

    vim /var/kerberos/krb5kdc/kdc.conf

    [kdcdefaults]

    kdc_ports = 88

    kdc_tcp_ports = 88

    [realms]

    HADOOP.COM = {

      #master_key_type = aes256-cts

    acl_file =  /var/kerberos/krb5kdc/kadm5.acl

    dict_file = /usr/share/dict/words

    admin_keytab =  /var/kerberos/krb5kdc/kadm5.keytab

    supported_enctypes = aes256-cts:normal  aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal  camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal  des-cbc-md5:normal des-cbc-crc:normal

     }

    五。 修改kadm5.acl 文件

    vim /var/kerberos/krb5kdc/kadm5.acl

    */admin@HADOOP.COM    *

    六。初始化主key 

    创建一个域:

    kdb5_util create  -r  HADOOP.COM  -s            需要输入密码,可以自己定义 ,这里设置admin@123

    kadmin.local -q  "addprinc root/admin"           添加一个管理员principal ,并设置密码。admin@123

    七。启动服务

    systemctl start krb5kdc;     systemctl status krb5kdc

    systemctl start kadmin;      systemctl status kadmin

    设置开机启动:

    systemctl enable krb5kdc

    systemctl enable  kadmin

    八。下载 JCE,每台节点都需要执行

    http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

    unzip -o -j -q jce_policy-8.zip -d /usr/java/jdk1.8.0_121/jre/lib/security/

    九。重启ambari-server

    sudo ambari-server restart

    十。ambari 上 开启 kerberos   (按照guide  提示操作即可......步骤省略)

    注意: guide 过程中需要启停ambari 管理的所有服务。

    kerberos的日常操作: 

    ① kdc 登录:

    kadim.local       仅限 kdc 主机直接登录,无须密码 ,登录进去就显示 kadmin.local:

    kadmin -p  root/admin@HADOOP.COM    client 主机登录需要输入密码,登录进去就显示 kadmin:

    ② principal 维护  (可以登录kdc , 也可以不登录kdc 中维护) 

    kadmin.local  -q  "list_principals"        //  查看所有的 principal ( 服务名/_HOST@REALM.TLD )

     kadmin.local -q "addprinc  bd00/bd00@HADOOP.COM"     // 添加principal , 需要手工指定密码

     kadmin.local -q "addprinc  -randkey  bd00/bd00@HADOOP.COM"   // 随机生成密码

    // 如果是系统组件需要的principal  , 可以加参数  -randkey  生成随机密码

    kadmin.local  -q "delprinc  bd00/bd00@HADOOP.COM"          // 删除principal

    ③ principal  添加完后,就可以导出keytab  生成及查看

    kadmin.local:  ktadd -k /var/kerberos/krb5kdc/kadm5.keytab  kadmin/admin  kadmin/changepw

    kadmin.local: xst -k /etc/security/keytabs/hdfs.headless.keytab tocdc-tcluster@HADOOP.COM

    // ktadd , xst  两种方式都行

    kadmin.local -q "xst -k /etc/security/keytabs/hdfs.headless.keytab tocdc-tcluster@HADOOP.COM"

    kadmin.local -q "ktadd -k /var/kerberos/krb5kdc/kadm5.keytab  kadmin/admin@HADOOP.COM"

    // 注意,如上在导出keytab 的时候会改密码(之前添加principal 的密码),kinit 验证密码会不对

    // 如果导出keytab 不想改密码 ,添加参数  -norandkey, 如下: (kadmin.local 方式下)

    kadmin.localktadd -k /home/tocdc/boco.keytab -norandkey  boco/boco@HADOOP.COM   

    klist  -kt  /etc/security/keytabs/spark2.headless.keytab         //查看keytab 的内容

    ④ 查看当前用户认证信息 :  klist  -e

    ⑤ 删除当前用户认证信息:  kdestroy

    ⑥  用户认证:

    kinit  principal        // 需要密码

    kinit -kt  /etc/security/keytabs/xxxx.keytab     principal      //不需要密码,keytab 已经包含

    相关文章

      网友评论

          本文标题:kerberos 小结

          本文链接:https://www.haomeiwen.com/subject/yatanftx.html