jenkins使用LDAP认证配置如下图所示:

用管理员账户登录jenkins,点击系统管理 ==> Configure Global Security

jenkins 使用LDAP认证_ldap

jenkins 使用LDAP认证_认证_02



注意:我没有配置User search baseGroup search base,这样ldap用户登录时,会对ldap 服务器上所有组所有用户进行匹配查询,如果指定了某一个组或某一个用户,那么其他组其他用户就算在ldap服务器上存在,也无法通过认证。LDAP只是做认证的,jenkins的的权限需要在授权策略中配置。




另外,我使用的是ldap加密认证。这需要在jenkins服务器上进行配置


1、将ldap服务的证书相关信息保存到host.crt文件

openssl s_client -connect 172.16.42.137:636 >> host.crt

 

2、将host.crt文件中的CA服务器的公钥过滤出来保存在host1.crt文件中

cat host.crt |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'> host1.crt


3、备份jdk的cacerts文件,jdk版本不同,路径可能不同,可以用find / -name cacert来搜索该文件

cp /usr/java/jdk1.8.0_111/jre/lib/security/cacerts /usr/java/jdk1.8.0_111/jre/lib/security/cacerts.bak


将CA公钥导入到cacerts文件中,默认的密码是changeit

keytool -import -trustcacerts -alias 172.16.42.137 -file host1.crt -keystore /usr/java/jdk1.8.0_111/jre/lib/security/cacerts


4、重启jenkins服务

/etc/init.d/jenkins restart