LDAP 用户身份验证访问被拒绝

LDAP 用户身份验证访问被拒绝

目前,我正在服务器上配置 LDAP 客户端进行用户身份验证。仅允许 SSH 密钥身份验证(不允许密码身份验证)。

我的 SSH 配置(/etc/ssh/sshd_config)

PermitRootLogin no
AuthorizedKeysCommand /path/to/getsshkey.sh
AuthorizedKeysCommandUser root
PasswordAuthentication no

我的其他配置文件:

我已经添加了以下行/etc/pam.d/common-auth

auth    required    pam_access.so

我添加了以下行sshd 配置文件

account required pam_access.so

我添加了以下行/etc/security/access.conf

-: ALL EXCEPT root (group1) (group2): ALL except LOCAL

我还配置了所有这些文件(/etc/ldap.conf、/etc/nsswitch.conf、/etc/pam.d/common-session)

举个例子用户名1属于组1

当我执行此命令时

ssh -i private.pem 用户名1@ip_地址

我在服务器上的 auth.log 中收到以下错误

Access denied for user username1 by PAM account configuration [preauth]

为什么访问被拒绝?

请帮我

答案1

我个人会使用nss_base_<map>指令,因为它们更灵活,并且可以与 pam 过滤器一起使用。但是,既然您已经走了这么远,这里有一个很好的方法来查明您的问题:

首先使用以下命令验证您的 LDAP 信息

$ id
$ id YOURUSERNAME (will not show additional groups)

$ getent passwd
$ getent shadow
$ getent group

接下来检查你的 pam 过滤器配置,/etc/ldap.conf并确保主机名匹配

查看LDAP文档以获取更多信息。

答案2

更改 DNS 名称或在自定义中设置 DNS 名称。登录客户端计算机更改主机名 hostnamectl 设置主机名

相关内容