5.3.7.2. 使用 SSH 不带密码


用于本地授权的 localauth Kerberos 插件确保 Kerberos 主体自动映射到本地 SSSD 用户名。通过 localauth,在使用 Kerberos 登录时不会提示来自可信 AD 域的 Windows 用户输入密码,因此无需密码即可使用 SSH。
插件提供跨多个域和信任的可靠映射机制:当 sssd 连接到 Kerberos 库以将主体映射到本地 POSIX 身份时,SSSD 插件会根据 IdM 中定义的信任协议对其进行映射。
在某些情况下,用户可以使用 SSH 堡垒主机访问其他 Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux 机器。默认情况下,如果您使用 Kerberos 验证堡垒主机上的 SSH,则无法使用 Kerberos 向其他 Red Hat Enterprise Linuxnbsp 转发到其他 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 主机。要启用这样的转发身份验证,请在 bastions 主机主体中添加 OK_AS_DELEGATE Kerberos 标志:
# ipa host-mod bastion_host.idm.example.com --ok-as-delegate=true

Red Hat Enterprise Linuxnbsp 上的 AD 用户 Kerberos 身份验证;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux 7.1 and newer Systems

在 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 7.1 和更新的系统中,SSSD 自动配置 localauth Kerberos 插件。
SSSD 允许使用 user@AD.DOMAINad.domain\user 和 AD\user 格式的用户名。
注意
在具有 localauth 的系统中,不需要在 /etc/krb5.conf 文件中设置 auth_to_local 选项,或者在.k5login 文件中列出 Kerberos 主体。localauth 插件使得之前用于登录的配置不会过时的密码。

为 AD 用户手动配置 Kerberos 身份验证

在没有 localauth 插件的系统中,SSH 提示输入 ActiveActive Directorynbsp 的用户密码 ;Directory 域用户即使用户获取正确的 Kerberos ticket。
要启用 Active Directory 用户在这种情况下使用 Kerberos 进行身份验证,请在 /etc/krb5.conf 文件中配置 auth_to_local 选项,或在用户主目录中的.k5login 文件中列出用户 Kerberos 主体。
配置 /etc/krb5.conf
以下流程描述了如何在 Kerberos 配置中配置域映射。
  1. 打开 /etc/krb5.conf 文件。
  2. [realms] 部分中,按名称标识 IdM 域,然后添加两个 auth_to_local 行来定义 Kerberos 主体名称映射:
    • 在一个规则中,包含用于映射不同 Active Directory 用户名格式和特定 Active Directory 域的规则。
    • 在另一条规则中,为标准 Unix 用户名设置 DEFAULT 值。
    例如:
    [realms]
    IDM = {
    ....
    auth_to_local = RULE:[1:$1@$0](^.*@ADDOMAIN$)s/@ADDOMAIN/@addomain/
    auth_to_local = DEFAULT
    }
  3. 重新启动 KDC 服务。
    [root@server ~]# systemctl restart krb5kdc.service
请注意,如果您使用 auth_to_local 选项配置 Kerberos 身份验证,用于 SSH 访问的用户名必须满足以下条件:
  • 用户名必须具有格式 ad_user@ad_domain
  • 域名必须是小写。
  • 用户名的大小写必须与 ActiveActive Directorynbsp;Directory 中的用户名匹配。例如,用户和用户 被视为不同的用户,因为存在不同的情况。
有关设置 auth_to_local 的详情,请查看 krb5.conf(5) man page。
configure.k5login
以下步骤将系统配置为查找本地用户名的 Kerberos 主体名称。
  1. 在用户的主目录中创建.k5login 文件。
  2. 列出用户在 文件中使用的 Kerberos 主体。
如果身份验证用户与现有 Kerberos 票据中的主体匹配,则允许用户使用票据登录,而且不会提示用户输入密码。
请注意,如果您使用.k5login 配置配置 Kerberos 身份验证,用于 SSH 访问的用户名必须具有 ad_user@ad_domain 格式。
有关配置 .k5login 文件的详情请参考 .k5login(5) man page。
无论哪种配置过程都会导致 AD 用户能够使用 Kerberos 登录。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.