Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.3. 配置 Kerberos 客户端

设置 Kerberos 5 客户端所需的所有是安装客户端软件包,并为每个客户端提供有效的 krb5.conf 配置文件。虽然 sshslogin 是远程登录到客户端系统的首选方法,但 rshrlogin 的 Kerberos 感知版本仍然可用,但额外的配置更改。
  1. 在所有客户端机器上安装 krb5-libskrb5-workstation 软件包。
    [root@server ~]# yum install krb5-workstation krb5-libs
  2. 为每个客户端提供有效的 /etc/krb5.conf 文件。通常,这与 Kerberos 分发中心(KDC)使用的 krb5.conf 文件相同。例如:
    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = EXAMPLE.COM
     dns_lookup_realm = false
     dns_lookup_kdc = false
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
     allow_weak_crypto = true
    
    [realms]
      EXAMPLE.COM = {
      kdc = kdc.example.com.:88
      admin_server = kdc.example.com
      default_domain = example.com
     }
    
    [domain_realm]
     .example.com = EXAMPLE.COM
     example.com = EXAMPLE.COM
    在某些情况下,KDC 只能通过 HTTPS Kerberos 密钥分发中心代理(KKDCP)进行访问。在这种情况下,进行以下更改:
    1. 将 KKDCP 的 URL 而不是主机名分配给 [realms] 部分中的 kdcadmin_server 选项:
      [realms]
      EXAMPLE.COM = {
        kdc = https://kdc.example.com/KdcProxy
        admin_server = https://kdc.example.com/KdcProxy
        kpasswd_server = https://kdc.example.com/KdcProxy
        default_domain = example.com
      }
      对于冗余,可使用不同的 KKDCP 服务器多次添加 kdc admin_server 和 kpasswd_server 参数。
    2. 在 IdM 客户端上,重启 sssd 服务以使更改生效:
      [root@server ~]# systemctl restart sssd
  3. 要使用 Kerberos 感知的 rshrlogin 服务,请安装 rsh 软件包。
  4. 在工作站可以使用 Kerberos 验证使用 sshrshrlogin 连接的用户之前,它必须在 Kerberos 数据库中拥有自己的主机主体。sshdkshdklogind 服务器程序都需要访问主机服务主体的密钥。
    1. 使用 kadmin,为 KDC 上的 workstation 添加主机主体。本例中的实例是 workstation 的主机名。使用 kadminaddprinc 命令的 -randkey 选项来创建主体,并为它分配一个随机键:
      addprinc -randkey host/server.example.com
    2. 通过在 workstation 本身上运行 kadmin 并使用 ktadd 命令,为 workstation 提取密钥。
      ktadd -k /etc/krb5.keytab host/server.example.com
  5. 要使用其他 Kerberos 感知的网络服务,请安装 krb5-server 软件包并启动服务。Kerberos 感知服务列在 表 11.3 “通用 Kerberos 感知服务” 中。

表 11.3. 通用 Kerberos 感知服务

服务名称 使用信息
ssh 如果客户端和服务器的配置都启用了 GSSAPI Authentication,OpenSSH 使用 GSS-API 对用户进行身份验证。如果客户端还启用了 GSSAPIDelegateCredentials,该用户的凭证将在远程系统上可用。OpenSSH 还包含 sftp 工具,它为 SFTP 服务器提供类似于 FTP 的接口,并且可以使用 GSS-API。
IMAP
如果 cyrus-imap 软件包也安装了 cyrus-sasl-gssapi 软件包,则使用 Kerberos 5。cyrus-sasl-gssapi 软件包包含支持 GSS-API 身份验证的 Cyrus SASL 插件。只要 cyrus 用户能够在 /etc/krb5.keytab 中找到正确的密钥,并且主体的 root 设置为 imap (使用 kadmin创建),grus IMAP 可以正常工作。
cyrus-imap 的一个替代方案可在 dovecot 软件包中找到,该软件包也包含在 Red Hat Enterprise Linux 中。此软件包包含 IMAP 服务器,但目前不支持 GSS-API 和 Kerberos。