您的位置:首页 > 其它

Kerberos 配置

2014-11-19 22:08 302 查看
KDC服务器,Ktelnetd,Krlogind,Krsh服务器,最后就可以使用krb5-workstation提供的telnet,rlogin,rsh来登录这些服务了。

 

kerberos安装可使用yum install krb5*或使用rpm 命令安装

默认安装目录为/var/kerberos/krb5kdc

需要配置的文件/etc/krb5.conf 以及 安装目录下的文件,如/var/kerberos/krb5kdc/kdc.conf

1.生成kerberos的本地数据库

kdb5_util create-r EXAMPLE.COM -s 

2. 生成账号

kerberos用principal(kerberos术语)来表示realm下的一个帐户,表示为primary/instance@realm,举个例子就是username/9.181.92.90@EXAMPLE.COM,这里假设9.181.92.90是你机器的ip地址,又或者是 username/orange@EXAMPLE.COM,这里orange是你的hostname

在数据库中加入管理员帐户:

kadmin.local

kadmin.local: addprinc admin/admin@EXAMPLE.COM

  

在数据库中加入用户的帐号:

kadmin.local: addprinc username/9.181.92.90@EXAMPLE.COM

  

在数据库中加入Ktelnetd,Krlogind,Krshd公用的帐号:

kadmin.local: addprinc -randkey
host/9.181.92.90@EXAMPLE.COM 

其中-randkey是随机密码的意思

kadmin.local中可能使用到的命令

addprinc

delprinc

listprincs

xst -k xxx.keytab xxx/xxx@xxxx 生成用户xxx/xxx@xxxx的keytab文件,可以直接使用这个文件进行kinit命令 kinit -kt xxx.keytab xxx/xxx@xxx

其中xxx.keytab如不配置路径,那么生成在当前目录下,kinit的时候需要加路径

keytab文件需要使用 klist -ekt xxx.keytab 查看

 

3、检查/var/kerberos/krb5kdc/kadm5.keytab是否有下列语句:
*/admin@EXAMPLE.COM * 
  若没有,那么就添上。

4、修改/etc/krb5.conf文件,修改所有的realm为EXAMPLE.COM,并且加入下列句子
kdc = 9.181.92.90:88
admin_server = 9.181.92.90:749

其中88和749是kdc默认的端口,ip也可替换为hosts中的hostname

5、在/etc/krb.conf中加入下列语句:
EXAMPLE.COM
EXAMPLE.COM 9.181.92.90:88
EXAMPLE.COM 9.181.92.90:749 admin server

 

6、启动kdc服务器和Ktelnetd,Krlogind,Krshd

/etc/init.d/krb5kdc restart

chkconfig klogin on

chkconfig kshell on

chkconfig eklogin on

chkconfig krb5-telnet on

/etc/init.d/xinetd restart

也可使用service krb5kdc start

service kadmin start 等

 

7、制作本地缓存

  将username/9.181.92.90@EXAMPLE.COM的credentials(kerberos术语)取到本地做为cache,这样以后就可以不用重复输入password了。
kinit username/9.181.92.90 

  如果顺利的话,在/tmp下面会生成文件krb5*;这步如果不通,那么就必须检查以上步骤是否有漏。

  可以用klist命令来查看credential。

8、导出用户密匙

export host/9.181.92.90@EXAMPLE.COM的key到/etc/krb5.keytab,

Ktelnetd、Krlogind和Krshd需要/etc/krb5.keytab来验证username/9.181.92.90的身份。

kadmin.local: ktadd -k /etc/krb5.keytab host/9.181.92.90

和上面说到的xst -k 的道理是相同的

 

9、修改~/.k5login文件

  在其中加入username/9.181.92.90@EXAMPLE.COM,表示允许username/9.181.92.90@EXAMPLE.COM登录该帐户

cat username/9.181.92.90@EXAMPLE.COM>>~/.k5login

实际可以不做修改

 
10、测试kerberos客户端

krsh 9.181.92.90 -k EXAMPLE.COM ls

krlogin 9.181.92.90 -k EXAMPLE.COM

rlogin 9.181.92.90 -k EXAMPLE.COM

rsh 9.181.92.90 -k EXAMPLE.COM

telnet -x 9.181.92.90 -k EXAMPLE.COM

(未测试)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kerberos 配置