基本概念LDAP是以樹方式組織的數(shù)據(jù)庫(kù)。每個(gè)節(jié)點(diǎn)可以有什么值是通過(guò)類來(lái)定義。LINUX或者其它應(yīng)用的認(rèn)證就是來(lái)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)。公私鑰:公鑰可以唯一解密私鑰加密過(guò)的數(shù)據(jù),反之亦然。SSL過(guò)程:需要兩對(duì)公私鑰(P1,V1),(P2,V2),假設(shè)通信雙方是A和B,B是服務(wù)器,A要確認(rèn)和它通信的是B:A->B: helloB->A: 用V2加密過(guò)的P1(即用戶證書,A就用P2解密出P1)A->B: okB->A: 用V1加密的一段信息A->B: 用P1加密一個(gè)自動(dòng)生成的K(用之前的P1解密成功這段信息則認(rèn)為B是可信的了)B->A: 用K加密的數(shù)據(jù)(之后兩對(duì)密鑰功能結(jié)束,由K來(lái)加解密數(shù)據(jù))這里,P2就是第3方的CA證書,由于非對(duì)稱加密很慢,所以公私鑰只是用來(lái)保證K的傳送安全,之后通信是用K的對(duì)稱加密算法來(lái)保證。需要安裝的組件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另外,這個(gè)文件是LDAP命令使用的,不是系統(tǒng)認(rèn)證所需:/etc/openldap/ldap.conf開始的時(shí)候可以不要SSL認(rèn)證,只需要注釋掉ldap.conf中start_tls一句即可。另外,SSL要求驗(yàn)證服務(wù)器,所以一定要在/etc/hosts文件里加入服務(wù)器完整名字,并與SSL證書中一致。