kerberos 小结

一。安装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

*/[email protected]    *

六。初始化主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/[email protected]    client 主机登录需要输入密码,登录进去就显示 kadmin:

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

kadmin.local  -q  "list_principals"        //  查看所有的 principal ( 服务名/[email protected] )

 kadmin.local -q "addprinc  bd00/[email protected]"     // 添加principal , 需要手工指定密码

 kadmin.local -q "addprinc  -randkey  bd00/[email protected]"   // 随机生成密码

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

kadmin.local  -q "delprinc  bd00/[email protected]"          // 删除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 [email protected]

// ktadd , xst  两种方式都行

kadmin.local -q "xst -k /etc/security/keytabs/hdfs.headless.keytab [email protected]"

kadmin.local -q "ktadd -k /var/kerberos/krb5kdc/kadm5.keytab  kadmin/[email protected]"

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

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

kadmin.localktadd -k /home/tocdc/boco.keytab -norandkey  boco/[email protected]   


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

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

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

⑥  用户认证:

kinit  principal        // 需要密码

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

你可能感兴趣的:(kerberos 小结)