当我使用 LDAP 服务器上的登录名通过 ssh 连接到我的 LDAP 客户端时出现此错误,我的 LDAP 客户端运行的是 Ubuntu 9.10 Karmic,我的 LDAP 服务器是 Fedora Core 4 并运行 Fedora Directory Server
ssh [email protected]
cat /var/log/auth.log //on the client
Dec 18 10:24:17 ubuntu-ltsp sshd[4527]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=billyhost.local user=billyduc
Dec 18 10:24:17 ubuntu-ltsp sshd[4527]: pam_ldap: error trying to bind as user "uid=billyduc,dc=mydomain,dc=com" (Invalid credentials)
Dec 18 10:24:18 ubuntu-ltsp sshd[4527]: Failed password for billyduc from 192.168.5.121 port 51449 ssh2
这是我的 /etc/pam.d/sshd
cat /etc/pam.d/sshd
auth [success=1 default=ignore] pam_unix.so
auth required pam_ldap.so use_first_pass
auth required pam_permit.so
account sufficient pam_permit.so
我还在客户端和服务器上编辑了我的 /etc/ssh/sshd_config
PasswordAuthentication yes
所以我认为 ssh 服务器检查时密码有问题
答案1
这看起来像是 pam_ldap 的问题,而不是 ssh 的 PAM 设置的问题。
日志表明配置翻译了用户名比利杜克输入 LDAP DNuid=billyduc,dc=mydomain,dc=com但遇到了无效证件使用提供的密码对该帐户进行身份验证时出现错误。
您应该检查:
- 这确实是用户的正确 DN比利杜克在 LDAP 服务器中。如果没有,请更改客户端上的 pam_ldap 配置。
- 服务器已配置为允许该 DN 绑定。使用简单的 LDAP 客户端(如命令行上的 ldapsearch)检查这一点,或者Apache 目录工作室。
如果这没有帮助,您应该将您的 pam_ldap 配置和 LDAP 服务器配置添加到问题中。
答案2
就我的情况来说,如果它能有所帮助,我忘了将ldap
模块添加到/etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
gshadow: files ldap