Authentication
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
請注意,要成功登錄,必須做兩件事:
- 在文件 /etc/nsswitch.conf 中配置的名稱服務開關
- 目錄 /etc/pam.d 中各種文件中定義的 PAM 配置
由於
getent
似乎返回正確的數據,您的 /etc/nsswitch.conf 似乎是正確的。然後我會檢查 /etc/pam.d/common* 中的配置是否使用模組pam_sss.so。當然,您應該檢查您的日誌。