基本概念
LDAP是以樹方式組織的數(shù)據(jù)庫。每個節(jié)點(diǎn)可以有什么值是通過類來定義。
LINUX或者其它應(yīng)用的認(rèn)證就是來BIND LDAP樹上的節(jié)點(diǎn),如果能夠BIND,就算認(rèn)證成功。
要改變LINUX認(rèn)證方式,需要讓名字服務(wù)NSCD能夠到LDAP查找用戶,這需要nss_ldap.so。
得到用戶后,再到LDAP去認(rèn)證,這需要pam_ldap.so實(shí)現(xiàn)。
公私鑰:公鑰可以唯一解密私鑰加密過的數(shù)據(jù),反之亦然。
SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設(shè)通信雙方是A和B,B是服務(wù)器,A要確認(rèn)和它通信的是B:
A->B: hello
B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
A->B: ok
B->A: 用V1加密的一段信息
A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認(rèn)為B是可信的了)
B->A: 用K加密的數(shù)據(jù)(之后兩對密鑰功能結(jié)束,由K來加解密數(shù)據(jù))
這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。
需要安裝的組件
Berkeley DB 4.2.52 or later - http://www.sleepycat.com/(僅服務(wù)端)
NSS_LDAP 2.2.X or PAM_LDAP 1.6.X or later – http://www.padl.com/(僅客戶端)
OpenSSL 0.9.7e or later – http://www.openssl.org/
OpenLDAP 2.3.XX or later - http://www.openldap.org/(僅服務(wù)端)









OpenSSH: http://www.openssh.org/




需要修改的文件
服務(wù)器端:
/etc/openldap/slapd.conf




























客戶端:
/etc/ldap.conf




??????/etc/pam.d/system-auth

















/etc/sysconfig/authconfig









/etc/nsswitch.conf























/etc/hosts


/etc/ssh/sshd_config







需要重啟的服務(wù)
service nscd restart???????
service sshd restart
另外,這個文件是LDAP命令使用的,不是系統(tǒng)認(rèn)證所需:
/etc/openldap/ldap.conf
開始的時候可以不要SSL認(rèn)證,只需要注釋掉ldap.conf中start_tls一句即可。另外,SSL要求驗(yàn)證服務(wù)器,所以一定要在/etc/hosts文件里加入服務(wù)器完整名字,并與SSL證書中一致。