為Jenkins添加SSH全局憑證
一、什么是憑證
1、憑據(jù)簡介
有許多第三方網(wǎng)站和應(yīng)用程序可以與Jenkins進(jìn)行交互,例如代碼倉庫GitHub等。
此類應(yīng)用程序的系統(tǒng)管理員可以在應(yīng)用程序中配置憑證以專供Jenkins使用。通常通過將訪問控制應(yīng)用于這些憑證來完成這項(xiàng)工作,以“鎖定Jenkins可用的應(yīng)用程序功能區(qū)域”。一旦Jenkins管理員在Jenkins中添加/配置這些憑證,Jenkins項(xiàng)目就可以使用憑證與這些第三方應(yīng)用程序進(jìn)行交互。
Jenkins中保存的憑證可以用于:
- 適用于Jenkins的任何地方(即全局證書)。
- 特定的Jenkins項(xiàng)目。
- 特定的Jenkins用戶。
2、憑據(jù)分類
Jenkins可以保存下面幾種憑證:
- Secret text:例如 API Token(例如GitHub的個(gè)人access token)。
- Username with password:指的是登錄GitHub的用戶名和密碼,可以作為單獨(dú)的組件處理,也可以作為username:password格式的冒號分割字符串來處理。
- Secret file:實(shí)際上是文件中的秘密內(nèi)容。
- SSH Username with private key:即使用私鑰的SSH 用戶名。這是一個(gè)SSH 秘鑰對。公鑰配置在GitHub上面,這里添加私鑰。
- Certificate:即證書。一個(gè)PKCS#12證書文件和可選的密碼。
- Docker Host Certificate Authentication:即Docker主機(jī)證書身份驗(yàn)證憑證。
這些憑證的分類可以在全局憑據(jù)里面看到:
3、憑據(jù)安全
為了確保安全,Jenkins中配置的憑據(jù)在Jenkins主實(shí)例中加密存儲(通過Jenkins實(shí)例的ID來加密),并且只能通過它們的憑據(jù)ID在Pipeline項(xiàng)目中處理。
這樣就最大限度地減少了向Jenkins用戶暴露實(shí)際證書本身的可能性,并且限制了將功能證書從一個(gè)Jenkins實(shí)例復(fù)制到另一個(gè)Jenkins實(shí)例的能力。
二、添加憑據(jù)
我們這里以添加SSH Username with private key為例,講解如何添加一個(gè)Jenkins的憑據(jù)。
在上面說過,SSH憑據(jù)需要一對私鑰,所以我們首先需要生成SSH Key。
使用下面的命令可以生成SSH Key:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
如下圖所示:
所有選項(xiàng)都是默認(rèn),一直回車即可生成。生成之后在.ssh文件夾下就會生成文件,如下圖所示:
一共會生成兩個(gè)文件:
- id_rsa。這個(gè)是私鑰文件。
- id_rsa.pub。這個(gè)是公鑰文件,需要配置到GitHub上面。
登錄GitHub,然后在賬戶下面選擇“Settings”:
然后選擇“SSH and GPG keys”:
然后點(diǎn)擊“New SSH key”,把生成的id_rsa.pub文件里面的內(nèi)容拷貝進(jìn)來即可:
這樣就添加完成了SSH key。
Jenkins在拉取git項(xiàng)目代碼的時(shí)候,如果沒有配置“證書憑證Credentials”或者配置的不對,就會出現(xiàn)如下圖所示的報(bào)錯(cuò)信息:
這時(shí)候就需要添加證書憑證Credentials,有兩種方式添加證書憑證。
1、創(chuàng)建的時(shí)候添加
點(diǎn)擊Credentials后面的"Add",選擇“Jenkins”,如下圖所示:
然后選擇“SSH Username with private key”,如下圖所示:
選擇Private Key,如下圖所示:
把上面生成的私鑰復(fù)制到這里,給Username起一個(gè)名稱即可。
最后點(diǎn)擊“添加”按鈕即可完成添加SSH 憑證。
注意:這里在拷貝私鑰的時(shí)候,一定要把生成的私鑰文件里面的所有內(nèi)容都拷貝進(jìn)來。
在選擇憑證的時(shí)候選擇剛才添加的憑證,這時(shí)就不會在報(bào)錯(cuò)了:
2、在憑證里面添加
我們也可以在憑據(jù)里面添加
同樣還是選擇“SSH Username with private key”,如下圖所示:
然后下面的步驟和剛才的就一樣了,輸入生成的私鑰即可。這樣就配置好了SSH憑據(jù)。
到此這篇關(guān)于為Jenkins添加SSH全局憑證的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Postman設(shè)置環(huán)境變量的實(shí)現(xiàn)示例
本文主要介紹了Postman設(shè)置環(huán)境變量的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02IDEA中alt+?enter快捷鍵失效/沒用時(shí)該怎么辦(詳細(xì)版)
IDEA里有一個(gè)萬能快捷鍵(alt enter)功能非常強(qiáng)大,同一個(gè)快捷鍵,可以根據(jù)不同的語境提示你不同的操作,這篇文章主要給大家介紹了關(guān)于IDEA中alt+?enter快捷鍵失效/沒用時(shí)該怎么辦的相關(guān)資料,需要的朋友可以參考下2023-12-12TCP協(xié)議詳解_動力節(jié)點(diǎn)Java學(xué)院整理
本文描述了TCP協(xié)議,首先簡單介紹了TCP完成了一些什么功能;介紹了TCP報(bào)文格式,以及典型報(bào)文的數(shù)據(jù)格式?,F(xiàn)在通過本文給大家詳細(xì)介紹,感興趣的的朋友一起看看吧2017-07-07淺談IDEA Scratch files萬能的臨時(shí)文件功能
這篇文章主要介紹了淺談IDEA Scratch files萬能的臨時(shí)文件功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Git基礎(chǔ)學(xué)習(xí)之文件刪除操作命令詳解
這篇文章主要為大家詳細(xì)介紹了Git基礎(chǔ)學(xué)習(xí)中的文件刪除操作命令,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-10-10風(fēng)中葉老師講述的學(xué)習(xí)方法(學(xué)習(xí)編程的朋友需要看)
風(fēng)中葉老師講述的學(xué)習(xí)方法(學(xué)習(xí)編程的朋友需要看),希望大家能按照說明的那樣,自己多動手動腦2008-10-10