使用密码输入 SSH 登录时 Kerberos 主体中的大写用户名

使用密码输入 SSH 登录时 Kerberos 主体中的大写用户名

我们在用户登录 Linux 计算机时遇到问题,并且其 Kerberos 主体的用户名部分为大写。这对于我们的 Hadoop 集群上的安全策略来说是一场灾难,因为它需要小写用户名。

背景是我们有 CentOS 7.3 机器正在联系 Windows AD。

我已经找到了发生这种情况的情况。我通过 ssh 进入其中一台 Linux 机器。我没有使用 SSH 密钥,因此必须输入密码。当我这样做时,我得到大写的 Kerberos 主体的用户名:

[root@machine1 ~]# ssh jasbre@machine2
jasbre@machine2's password:
Last login: Mon Sep 18 12:06:13 2017 from machine1
[jasbre@machine ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1379946670
Default principal: [email protected]

Valid starting       Expires              Service principal
09/18/2017 12:13:21  09/18/2017 22:13:21  krbtgt/[email protected]
        renew until 09/25/2017 12:13:21

现在,我使用 SSH 密钥登录,登录时没有 Kerberos 票证(因为我没有输入密码)。然后我执行 kinit 并在主体中得到小写用户名:

[jasbre@machine2 ~]$ kinit
Password for [email protected]:
[jasbre@machine2 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1379946670
Default principal: [email protected]

Valid starting       Expires              Service principal
09/18/2017 12:14:13  09/18/2017 22:14:13  krbtgt/[email protected]
        renew until 09/25/2017 12:14:07

这里发生了什么?我认为这只是我从域控制器返回的东西。我可以在 Linux 机器上使用 sssd.conf 文件来控制它吗?我已经case_sensitive = false在 sssd.conf 中了。

相关内容