Authentication

ldap 使用者無法 ssh 到伺服器

  • November 2, 2018

我已經使用這篇文章配置了執行 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. 在文件 /etc/nsswitch.conf 中配置的名稱服務開關
  2. 目錄 /etc/pam.d 中各種文件中定義的 PAM 配置

由於getent似乎返回正確的數據,您的 /etc/nsswitch.conf 似乎是正確的。

然後我會檢查 /etc/pam.d/common* 中的配置是否使用模組pam_sss.so。當然,您應該檢查您的日誌。

引用自:https://unix.stackexchange.com/questions/479057