ldap 用户无法 ssh 到服务器

ldap 用户无法 ssh 到服务器

我已经使用这篇文章配置了运行centos 7的ldap本地服务器:https://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html

现在我的 LDAP 服务器正在运行,没有任何问题。在我的 LDAP 服务器中,防火墙被禁用。但是,selinux 已启用。

另外,我使用迁移工具将本地用户迁移到 ldap db,也成功了。

另外,我安装并配置了phpldapadmin,也成功了。然后我连接了另一个 ldap 服务器作为客户端(我安装了 sssd、krb5-workstation,并使用 authconfig-tui 进行连接),仅用于身份验证。

当我使用以下命令测试 LDAP 连接(来自客户端服务器)时

[root@ldapclient ~]# getent passwd user1

user1:*:1001:1001:user1:/home/user1:/bin/bash

[root@ldapclient ~]# id user1

uid=1001(user1) gid=1001 groups=1001

[root@ldapclient ~]# id testfromphpldapadmin

uid=1003(testfromphpldapadmin) gid=1010(ldapusers) groups=1010(ldapusers)

(testfromphpldapadmin - 使用 phpldapadmin user1 创建 - 使用迁移工具迁移的用户)

根据之前的结果,我认为我的 LDAP 身份验证可以正常工作,没有任何问题

但是当我尝试使用 ldap 用户帐户进行 ssh 时

login as: user1

user1@centclient's password:

Access denied

答案1

请注意,要成功登录,必须满足以下两件事:

  1. 文件 /etc/nsswitch.conf 中配置的名称服务开关
  2. PAM 配置在 /etc/pam.d 目录中的各个文件中定义

由于getent似乎返回了正确的数据,因此您的 /etc/nsswitch.conf 似乎是正确的。

然后我会检查 /etc/pam.d/common* 中的配置是否使用模块pam_sss.so。当然,您应该检查您的日志。

相关内容