User 無法登入 CentOS server,在 /var/log/message 看到以下 error:

Dec 17 09:54:47 localhost nslcd[2384]: [cc2c28] ldap_start_tls_s() failed: Connect error (uri="ldap://ldap.ourproduction/")
Dec 17 09:54:47 localhost nslcd[2384]: [cc2c28] failed to bind to LDAP server ldap://ldap.ourproduction/: Connect error
Dec 17 09:54:47 localhost nslcd[2384]: [cc2c28] no available LDAP server found

找了很久都找不到問題根源,也嘗試修改 sysctl (因為 LDAP server 是 Ubuntu),但是都沒有辦法解決;想要透過修改 Client 看是否能夠不要用 TLS 方式連接,可惜還是失敗了。

幸好找到了這篇: centos 6.3 TLS negotiation failure against openldap

解決方法

  1. 先修改 /etc/sysconfig/authconfig,將:

    FORCELEGACY=no
    

    修改成

    FORCELEGACY=yes
    
  2. 然後執行 authconfig 指令

    authconfig --updateall
    
  3. 重複執行步驟一,再檢查一次設定值是否正確

  4. 重新啟動 nslcd 服務

    service nslcd restart
    

解決方法二

如果上述方法還是不行,則需要修改 /etc/nslcd.conf ,將

ssl start_tls

改成

ssl no

然後重新啟動 nslcd 即可。

service nslcd restart

參考資料

Comments

comments powered by Disqus