天天看點

jenkins 使用LDAP認證

jenkins使用LDAP認證配置如下圖所示:

用管理者賬戶登入jenkins,點選系統管理 ==> Configure Global Security

<a href="https://s4.51cto.com/wyfs02/M00/8F/55/wKiom1jbM4PwrxDaAAEzya2MJ0U195.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/8F/53/wKioL1jbM4TTK-aiAAIl5HJq3VY549.png" target="_blank"></a>

注意:我沒有配置User search base和Group search base,這樣ldap使用者登入時,會對ldap 伺服器上所有組所有使用者進行比對查詢,如果指定了某一個組或某一個使用者,那麼其他組其他使用者就算在ldap伺服器上存在,也無法通過認證。LDAP隻是做認證的,jenkins的的權限需要在授權政策中配置。

另外,我使用的是ldap加密認證。這需要在jenkins伺服器上進行配置

1、将ldap服務的證書相關資訊儲存到host.crt檔案

1

<code>openssl s_client -connect 172.16.42.137:636 &gt;&gt; host.crt</code>

2、将host.crt檔案中的CA伺服器的公鑰過濾出來儲存在host1.crt檔案中

<code>cat</code> <code>host.crt |</code><code>sed</code> <code>-</code><code>ne</code> <code>'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'</code><code>&gt; host1.crt</code>

3、備份jdk的cacerts檔案,jdk版本不同,路徑可能不同,可以用find / -name cacert來搜尋該檔案

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

将CA公鑰導入到cacerts檔案中,預設的密碼是changeit

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

4、重新開機jenkins服務

<code>/etc/init</code><code>.d</code><code>/jenkins</code> <code>restart</code>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1911358,如需轉載請自行聯系原作者