环境:在主要由 10.2 和 10.3 openSUSE 组成的内部网络中新安装 openSUSE 13.1。LDAP 服务器(@(#) $OpenLDAP: slapd 2.3.19 (Jul 28 2006 17:00:02)
)在 SUSE LE 10 上运行。
尝试使用 nss_ldap 和 pam_ldap(即不使用 SSSD)配置新的 13.1 ldap 客户端主机(“主”)。所有旧客户端均可与 LDAP 服务器配合使用。
当从旧主机“test”通过 ssh 连接到新主机“main”(一些信息被隐藏)时,出现以下错误:
Sep 19 11:17:43 main sshd[10460]: Invalid user XXX from 10.3.0.72
Sep 19 11:17:43 main sshd[10460]: input_userauth_request: invalid user XXX [preauth]
Sep 19 11:17:43 main sshd[10460]: Postponed keyboard-interactive for invalid user XXX from 10.3.0.72 port 57170 ssh2 [preauth]
Sep 19 11:17:47 main sshd[10462]: pam_ldap: error trying to bind as user "uid=XXX,ou=people,dc=XXX,dc=YYYY,dc=org" (Invalid credentials)
Sep 19 11:17:47 main sshd[10460]: error: PAM: Authentication failure for illegal user XXX from test.blah.org
- getent passwd XXX -- 不返回任何内容
- getent group GGG - 返回已知组 GGG 的 ldap 组信息
main:/etc # ldapsearch -x -L -u -t "(uid=XXX)"
- 返回用户 XXX 的 LDAP 信息
我的 /etc/pam.d/common-password 是:
password requisite pam_pwcheck.so nullok cracklib remember=
password sufficient pam_unix2.so use_authtok nullok
password required pam_ldap.so try_first_pass use_authtok
我的 /etc/pam.d/common-auth 是:
auth required pam_env.so
auth sufficient pam_unix2.so
auth required pam_ldap.so use_first_pass
我遗漏了或者忘记了什么?
答案1
通过在本地文件 (passwd 和 shadow) 末尾添加“+::::::”得到了解决方案 --- 现在能够从新的 openSUSE 13.1 主机通过 ssh 连接到基于 ldap 的帐户...但我的 pams 中肯定还有一些东西是错误的,这只是一个临时解决办法 (?) 还是 openSUSE 13.1 安装不正确,没有在文件中添加结束标记?