在一些服务设置中,我们通常借助其他环境来完成一些操作工作。例如我们接下里所讲的telnet服务配置Kerberos的相关内容。在Kerberos环境中,每个Kerberos服务是由服务主体表示的。此服务主体只是普通的Kerberos主体,其持有用于解密由Kerberos服务器发送的响应的密钥。对于telnet服务也是如此,您将需要在telnet服务器上创建telnet服务主体并执行一些配置步骤。请执行下列分步步骤为telnet服务配置Kerberos。
如果您已经使用 AIX 'mkkrb5clnt' 命令配置Kerberos客户端,那么您不需要执行步骤 1 和 2。'mkkrb5clnt' 命令创建 host 服务主体并将其存储在 /var/krb5/security/keytab/<hostname>.keytab 文件中。将此文件链接到缺省 keytab 文件 /etc/krb5/krb5.keytab。
在运行telnet服务的计算机 (fsaix005.in.ibm.com) 上,创建名为“host/<FQDN_telnetd_hostname>”的telnet服务主体。对于本例,它将是“host/fsaix005.in.ibm.com”。
使用完全限定域名(Fully Qualified Domain Name,FQDN)对于此设置的正常工作非常关键。
- bash-2.05b# hostname
- fsaix005.in.ibm.com
- bash-2.05b# kadmin -p admin/admin
- Authenticating as principal admin/admin with password.
- Password for admin/admin@ISL.IN.IBM.COM:
- kadmin: addprinc -randkey host/fsaix005.in.ibm.com
- WARNING: no policy specified for host/fsaix005.in.ibm.com@ISL.IN.IBM.COM;
- defaulting to no policy. Note that policy may be overridden by
- ACL restrictions.
- Principal "host/fsaix005.in.ibm.com@ISL.IN.IBM.COM" created.
将telnet服务主体添加到 keytab 文件 (/etc/krb5/krb5.keytab) 中。
- kadmin: ktadd host/fsaix005.in.ibm.com
- Entry for principal host/fsaix005.in.ibm.com with kvno 3, encryption type Triple DES
- cbc
- mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
- Entry for principal host/fsaix005.in.ibm.com with kvno 3, encryption type ArcFour
- with
- HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
- Entry for principal host/fsaix005.in.ibm.com with kvno 3, encryption type AES-256
- CTS mode
- with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
- Entry for principal host/fsaix005.in.ibm.com with kvno 3, encryption type DES cbc
- mode
- with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
- Entry for principal host/fsaix005.in.ibm.com with kvno 3, encryption type AES-128
- CTS mode
- with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
- kadmin: q
- bash-2.05b#
如果由于某种原因无法运行“kadmin”,则在 KDC 上创建服务主体并添加到 keytab 文件 (/etc/krb5/krb5.keytab) 中,然后将该 keytab 文件传送到运行 telnetd 的计算机(对于本例,是 fsaix005.in.ibm.com)上。
在运行telnet服务的计算机 (fsaix005.in.ibm.com) 上,运行 '/usr/krb5/bin/klist -k' 并检查条目。
- bash-2.05b# hostname
- fsaix005.in.ibm.com
- bash-2.05b# /usr/krb5/bin/klist -k
- Keytab name: FILE:/etc/krb5/krb5.keytab
- KVNO Principal
- ---- ---------
- 3 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- 3 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- 3 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- 3 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- 3 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- bash-2.05b#
在运行 telnet服务的计算机 (fsaix005.in.ibm.com) 上,创建新用户“vipin”,您将使用该用户远程登录到 fsaix005。更改该用户的密码。
- bash-2.05b# hostname
- fsaix005.in.ibm.com
- bash-2.05b# mkuser -R files vipin
- bash-2.05b# passwd vipin
- Changing password for "vipin"
- vipin's New password:
- Enter the new password again:
- bash-2.05b#
创建具有相同名称“vipin”的Kerberos主体。可以从Kerberos领域中的任何计算机(主 KDC 或客户机)上完成此操作。#p#
- bash-2.05b# hostname
- fsaix005.in.ibm.com
- bash-2.05b# kadmin -p admin/admin
- Authenticating as principal admin/admin with password.
- Password for admin/admin@ISL.IN.IBM.COM:
- kadmin: ank -pw vipin vipin
- WARNING: no policy specified for vipin@ISL.IN.IBM.COM;
- defaulting to no policy. Note that policy may be overridden by
- ACL restrictions.
- Principal "vipin@ISL.IN.IBM.COM" created.
- kadmin: q
- bash-2.05b#
转到配置Kerberos 客户端的任何其他客户端计算机 (fakir.in.ibm.com) 上。运行 '/usr/krb5/bin/kinit vipin' 以获取初始Kerberos票证,如下所示:
- bash-2.05b# hostname
- fakir.in.ibm.com
- bash-2.05b# /usr/krb5/bin/kinit vipin
- Password for vipin@ISL.IN.IBM.COM:
- bash-2.05b# /usr/krb5/bin/klist
- Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
- Default principal: vipin@ISL.IN.IBM.COM
- Valid starting ExpiresService principal
- 02/16/08 04:31:41 02/17/08 04:31:39 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
- bash-2.05b#
尝试远程登录到 telnetd 计算机 (fsaix005.in.ibm.com)。如果一切顺利,系统将要求您输入密码,您将以用户“vipin”的身份登录。
下面是完成这项工作的命令:
- bash-2.05b# hostname
- fakir.in.ibm.com
- bash-2.05b#telnet-l vipin fsaix005.in.ibm.com
- Trying...
- Connected to fsaix005.in.ibm.com.
- Escape character is '^]'.
- [KerberosV5 accepts you as ``vipin@ISL.IN.IBM.COM'' ]
- telnet (fsaix005.in.ibm.com)
- *******************************************************************************
- * *
- * *
- * Welcome to AIX Version 5.3!*
- * *
- * *
- * Please see the README file in /usr/lpp/bos for information pertinent to*
- * this release of the AIX Operating System. *
- * *
- * *
- *******************************************************************************
- Last unsuccessful login: Wed Feb 13 11:50:40 CST 2008 on /dev/pts/2 from
- land.in.ibm.com
- Last login: Fri Feb 15 12:49:06 CST 2008 on /dev/pts/3 from aixdce8.in.ibm.com
- $ hostname
- fsaix005.in.ibm.com
- $ id
- uid=237(vipin) gid=1(staff)
- $ exit
- Connection closed
- bash-2.05b# hostname
- fakir.in.ibm.com
- bash-2.05b#
完成配置Kerberos之后,现在是以Kerberos方式运行telnet所需完成的全部工作!请注意在发出telnet命令时的附加选项(位于上面突出显示的文本中)。
如果您希望检查是否确实获得telnet服务主体的票证,请在客户端上运行 /usr/krb5/bin/klist 并查看其输出。您应该看到与下面所示类似的内容:
- bash-2.05b# hostname
- fakir.in.ibm.com
- bash-2.05b# /usr/krb5/bin/klist
- Ticket cache: FILE:/var/krb5/security/creds/krb5cc_0
- Default principal: vipin@ISL.IN.IBM.COM
- Valid starting ExpiresService principal
- 02/16/08 04:31:41 02/17/08 04:31:39 krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
- 02/16/08 04:32:56 02/17/08 04:31:39 host/fsaix005.in.ibm.com@ISL.IN.IBM.COM
- bash-2.05b#