Kerberos 配置

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/[email protected],这里假设9.181.92.90是你机器的ip地址,又或者是 username/[email protected],这里orange是你的hostname

在数据库中加入管理员帐户:
kadmin.local
kadmin.local: addprinc admin/[email protected]
  

在数据库中加入用户的帐号:
kadmin.local: addprinc username/[email protected]
  

在数据库中加入Ktelnetd,Krlogind,Krshd公用的帐号:
kadmin.local: addprinc -randkey host/[email protected] 

其中-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是否有下列语句:
*/[email protected]
  若没有,那么就添上。

4、修改/etc/krb5.conf文件,修改所有的realmEXAMPLE.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/[email protected]的credentials(kerberos术语)取到本地做为cache,这样以后就可以不用重复输入password了。
kinit username/9.181.92.90 
  如果顺利的话,在/tmp下面会生成文件krb5*;这步如果不通,那么就必须检查以上步骤是否有漏。
  可以用klist命令来查看credential。

8、导出用户密匙
export host/[email protected]的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/[email protected],表示允许username/[email protected]登录该帐户

cat username/[email protected]>>~/.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

(未测试)

你可能感兴趣的:(linux)