在 AIX V6 上的 telnet、FTP 和 r 命令中配置和启用 Kerberos 身份验证

学习在 IBM® AIX® V6 上的日常网络服务中使用 Kerberos 身份验证票证,并了解 Kerberos 如何帮助避免登录网络服务时使用密码的麻烦。这是在 AIX 系统网络中实现单点登录 (SSO) 的又一种方法。

Vipin Rathor (vrathor1@in.ibm.com), 系统软件工程师, IBM India Software Lab

author photoVipin Rathor 在 IBM India Software Lab 工作的两年中,主要从事 IBM Network Authentication Service (IBM Kerberos) 的开发和支持活动。他在业余时间喜欢烧碟。可以通过 vrathor1@in.ibm.com 与他联系。



2008 年 7 月 21 日

引言

AIX 中的网络应用程序(例如,telnet、FTP 和 rlogin、rsh、rcp 等 r 命令)本身支持 Kerberos 身份验证。管理员需要完成的所有工作包括安装和配置 Kerberos,以及配置 AIX 系统以使用该 Kerberos 设置进行身份验证。Kerberos 身份验证表示一旦您拥有有效的 Kerberos 票证(通过手动 /usr/krb5/bin/kinit 或集成登录获得),网络应用程序可以使用该票证作为您的身份验证令牌,并且一旦成功通过身份验证,您不需要输入密码就可以获得访问权限。

基本配置

为了启用 Kerberos 身份验证,需要在 Kerberos 前端以及 AIX 系统上设置一些通用基本配置。让我们看一下这些配置。

Kerberos 配置

  • 让一台服务器计算机作为 Kerberos 主密钥分发中心(Key Distribution Center,KDC)这台计算机将负责所有与 Kerberos 相关的任务,例如生成票证、对用户进行身份验证,等等。管理员需要在这台计算机上安装和配置 IBM Network attached storage (NAS)(优选使用 1.4.0.7 或更高版本)以作为主 KDC。
  • 网络中的所有其他计算机(您将在这些计算机上使用 telnet、FTP 或 r 命令进行登录)安装和配置 IBM NAS,作为主 KDC 的客户端。
  • telnet/FTP 守护进程将在这些计算机上运行,您将从客户端连接到这台计算机上。在这些计算机上也安装和配置 IBM NAS,作为主 KDC 的客户端。

有关 IBM NAS 服务器和客户端安装和配置的完整说明,请参考 AIX Version 5.3 Expansion Pack CD 中附带的 IBM NAS Version 1.4 Administration Guide

对于本文中的示例,我参考了示例 Kerberos 环境。图 1 显示了该环境和逻辑信息流。

图 1:显示 Kerberized telnet 操作的示例
图 1:显示 Kerberized telnet 操作的示例

本文通篇使用了下列定义:
Kerberos 管理员名称:
admin/admin

Kerberos 领域名称:
ISL.IN.IBM.COM

IBM NAS 1.4.0.7 主 KDC:
主机名:land.in.ibm.com 端口: 88
操作系统:AIX 5.3

IBM NAS 1.4.0.7 管理服务器:
主机名:land.in.ibm.com 端口: 749
操作系统:AIX 5.3

IBM NAS 1.4.0.7 客户端:
主机名:fakir.in.ibm.com
操作系统:AIX 6.1

运行 telnet 服务的计算机:
主机名:fsaix005.in.ibm.com 端口: 23
操作系统:AIX 5.3

运行 FTP 服务的计算机:
主机名:fsaix005.in.ibm.com 端口: 21
操作系统:AIX 5.3

检查和同步所有计算机之间的时间差;误差不应超过 5 分钟。若要检查 Kerberos 配置的正确性,请使用 '/usr/krb5/bin/kinit admin/admin',后跟 '/usr/krb5/bin/klist' 并查看是否能够获得 Kerberos 票证,然后使用 '/usr/krb5/sbin/kadmin -p admin/admin' 检查所有事项(时间差以及更多项目)是否正常。

AIX 身份验证配置

为了确保所有网络应用程序在进行基于密码的标准身份验证之前尝试 Kerberos 身份验证,管理员需要更改所有 AIX 计算机上的身份验证方法首选项。

'/usr/bin/lsauthent' 命令显示当前身份验证模式首选项。

bash-2.05b# /usr/bin/lsauthent
Standard Aix

若要更改身份验证模式首选项,请使用 '/usr/bin/chauthent' 命令。

bash-2.05b# /usr/bin/chauthent -k5 -std

现在,'/usr/bin/lsauthent' 应显示类似下面的内容:

bash-2.05b# /usr/bin/lsauthent
Kerberos 5
Standard Aix

请务必保留基于密码的标准身份验证方法(上面的 –std)作为后备身份验证方法,否则如果无法启用正确的 Kerberos 登录,您将无法登录到系统。


为 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

  1. 在运行 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.
  2. 将 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)上。

  3. 在运行 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#
  4. 在运行 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#
  5. 创建具有相同名称“vipin”的 Kerberos 主体。可以从 Kerberos 领域中的任何计算机(主 KDC 或客户机)上完成此操作。
    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#
  6. 转到配置了 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     Expires            Service 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#
  7. 尝试远程登录到 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 '^]'.
    [ Kerberos V5 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 方式运行 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     Expires            Service 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#

为 FTP 服务配置 Kerberos

与 telnet 服务类似,您也可以配置 FTP 服务以接受和使用 Kerberos 身份验证。使用下列分步过程来实现这一目的:

  1. 创建 FTP 服务主体。这一次 FTP 服务主体的名称应为“ftp/<FQDN_ftpd_hostname>”。因此对于本例,它类似于“ftp/fsaix005.in.ibm.com”。创建主体:
    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 -randkey ftp/fsaix005.in.ibm.com
    WARNING: no policy specified for ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM;
      defaulting to no policy. Note that policy may be overridden by
      ACL restrictions.
    Principal "ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM" created.
  2. 现在,将此主体条目添加到 keytab 文件 (/etc/krb5/krb5.keytab) 中。
    kadmin:  ktadd ftp/fsaix005.in.ibm.com
    Entry for principal ftp/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 ftp/fsaix005.in.ibm.com with kvno 3, encryption type ArcFour 
        with 
      HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal ftp/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 ftp/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 ftp/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#
  3. 在运行 FTP 服务的计算机 (fsaix005.in.ibm.com) 上,运行 '/usr/krb5/bin/klist -k' 并检查 keytab 文件中的条目。此时该文件应当与如下所示类似:
              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
              3 ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
              3 ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
              3 ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
              3 ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
              3 ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
    
              bash-2.05b#
  4. 下一步是获取初始 Kerberos 票证。由于我们已经拥有名为“vipin”的 Kerberos 用户,因此我们将使用此主体来获取初始 Kerberos 票证,方法是使用 '/usr/krb5/bin/kinit' 命令。
    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     Expires            Service principal
    02/16/08 04:47:46  02/17/08 04:47:45  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
    
    bash-2.05b#
  5. 一旦我们拥有有效的票证,我们就已准备好以 kerborise 方式运行 FTP。

    点击查看代码清单

    bash-2.05b# hostname
    fakir.in.ibm.com
    
    bash-2.05b# ftp fsaix005.in.ibm.com
    Connected to fsaix005.in.ibm.com.
    220 fsaix005.in.ibm.com FTP server (Version 4.2 Sat Jun 16 07:20:05 CDT 2007) ready.
    334 Using authentication type GSSAPI; ADAT must followGSSAPI accepted as authentication typeGSSAPI authentication succeeded
    Name (fsaix005.in.ibm.com:root): vipin
    232 GSSAPI user vipin@ISL.IN.IBM.COM is authorized as vipin
    ftp>
    ftp> bye
    221 Goodbye.
    
    bash-2.05b#

    若要交叉检查 Kerberos 形式的 FTP 会话是否成功,可以关闭 FTP 会话并执行 /usr/krb5/bin/klist 以查看我们 FTP 服务主体的其他票证。

    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     Expires            Service principal
    02/16/08 04:47:46  02/17/08 04:47:45  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
    02/16/08 04:49:20  02/17/08 04:49:19  ftp/fsaix005.in.ibm.com@ISL.IN.IBM.COM
    
    bash-2.05b#

为 r 命令配置 Kerberos

AIX r 命令(如 rlogin、rsh 和 rcp)也支持 Kerberos 身份验证。我们来看一下这些命令如何使用 Kerberos 票证来允许我们无缝地执行工作。

所有 r 命令的 Kerberos 服务主体将再次采用“host/<FQDN_service_hostname>”,与 telnet 服务主体相同。因此,如果您已经配置了 Kerberos 形式的 telnet 身份验证,那么您就不需要执行任何其他配置步骤。您只需获取初始 Kerberos 票证并发出 r 命令。例如:

显示“rlogin”中的 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     Expires            Service principal
04/21/08 08:54:26  04/22/08 08:54:25  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM

bash-2.05b# rlogin fsaix005.in.ibm.com -l vipin
*******************************************************************************
*                                                                             *
*                                                                             *
*  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: Mon Apr 21 07:55:42 CDT 2008 on /dev/pts/1 from 9.182.185.101
Last login: Mon Apr 21 08:01:29 CDT 2008 on /dev/pts/1 from fakir.in.ibm.com

$ hostname
fsaix005.in.ibm.com
$ exit
Connection closed.

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     Expires            Service principal
04/21/08 08:54:26  04/22/08 08:54:25  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
04/21/08 08:54:49  04/22/08 08:54:25  host/fsaix005.in.ibm.com@ISL.IN.IBM.COM

bash-2.05b#

显示“rsh”中的 Kerberos 身份验证的示例

我们也可以在“rsh”中执行与 rlogin 方式相同的 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     Expires            Service principal
04/21/08 08:58:08  04/22/08 08:58:39  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM

bash-2.05b# rsh fsaix005.in.ibm.com -l vipin
*******************************************************************************
*                                                                             *
*                                                                             *
*  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: Mon Apr 21 07:55:42 CDT 2008 on /dev/pts/1 from 9.182.185.101
Last login: Mon Apr 21 08:54:58 CDT 2008 on /dev/pts/1 from fakir.in.ibm.com

$ hostname
fsaix005.in.ibm.com
$ exit
Connection closed.

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     Expires            Service principal
04/21/08 08:58:08  04/22/08 08:58:39  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
04/21/08 08:58:33  04/22/08 08:58:39  host/fsaix005.in.ibm.com@ISL.IN.IBM.COM

显示“rcp”中的 Kerberos 身份验证的示例

本例使用 Kerberos 身份验证将文件从一台计算机 (fakir.in.ibm.com) 复制到另一台远程计算机 (fsaix005.in.ibm.com)。

  1. 下面是我们要传送的位于 fakir.in.ibm.com 上的文件:
    bash-2.05b# hostname
    fakir.in.ibm.com
    
    bash-2.05b# ls -l /home/vipin/progs/try.c
    -rw-r--r--    1 root     system          200 Feb 14 03:55 home/vipin/progs/try.c
    
    bash-2.05b#
  2. 将此文件复制到 fsaix005.in.ibm.com 上的 /home/vipin 目录中。fsaix005.in.ibm.com 上的 /home/vipin 中的当前内容如下:
    bash-2.05b# hostname
    fsaix005.in.ibm.com
    
    bash-2.05b# ls -l /home/vipin/t*
    ls: 0653-341 The file /home/vipin/t* does not exist.
    
    bash-2.05b#
  3. 在 fakir.in.ibm.com 上运行 Kerberos 身份验证并获取初始 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     Expires            Service principal
    04/21/08 09:20:13  04/22/08 09:20:45  krbtgt/ISL.IN.IBM.COM@ISL.IN.IBM.COM
    
    bash-2.05b#
  4. 一旦我们拥有有效的票证,我们就可以运行“rcp”命令:
    bash-2.05b# rcp /home/vipin/progs/try.c vipin@fsaix005.in.ibm.com:/home/vipin
    
    bash-2.05b#

    请注意我们如何传递 fsaix005.in.ibm.com 的用户名。我们还传递 fsaix005.in.ibm.com 上的目标目录。请牢记目标目录必须允许用户执行写操作,这一点非常重要。

  5. 在 fsaix005.in.ibm.com 上,我们还可以交叉检查文件复制操作,如下所示:
    bash-2.05b# hostname
    fsaix005.in.ibm.com
    
    bash-2.05b# ls -l /home/vipin/t*
    -rw-r--r--   1 vipin    staff           200 Apr 21 09:21 /home/vipin/try.c
    
    bash-2.05b#

    请注意新复制文件的用户 ACL。


经常遇到的 kerberized telnet 错误

错误解决方案
Kerberos V5 拒绝身份验证,因为 admin/admin@ISL.IN.IBM.COM 未获得登录指定帐户的权限。初始 Kerberos 票证是使用“admin/admin”创建的,而不是使用您的普通用户名(在本例中是“vipin”)。运行 '/usr/krb5/bin/kdestroy' 以销毁早期 Kerberos 票证,然后使用 '/usr/krb5/bin/kinit <username>' 获取正确的票证并重试。
Kerberos V5 拒绝身份验证,因为 telnetd:krb5_rd_req failed:Decrypt integrity check failed。在服务主体的密钥版本号中存在不匹配。删除服务主体(使用 'delprinc' kadmin 命令)并将其从 keytab 文件(使用 'ktrem' kadmin 命令)删除。再次重新创建新服务主体并将其添加到 keytab 文件,然后重试。
Kerberos V5 拒绝身份验证,因为 telnetd:krb5_rd_req failed:Generic RC I/O error。在 telnet 服务器上,创建名为“/var/tmp”的目录(如果不存在)。这应当可以解决问题。

结束语

本文演示了如何在诸如 telnet、FTP 和 r 命令之类的支持 Kerberos 的 AIX 网络应用程序中使用 Kerberos 身份验证机制。

参考资料

学习

获得产品和技术

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=322337
ArticleTitle=在 AIX V6 上的 telnet、FTP 和 r 命令中配置和启用 Kerberos 身份验证
publish-date=07212008