Jenkins證書管理(SSH證書)

背景:

需要為Jenkins添加Slave Node,為了便于安全,計劃使用SSH證書登錄Slave Node

步驟:

在Slave Node生成秘鑰ssh-keygen -t rsa,為了增加安全性,最好設(shè)置passphrase. (這里默認存放在~/.ssh/id_rsa)
將Slave Node生成的公鑰添加到Slave Node的authorized列表中cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
將Slave Node生成的私鑰添加到Jenkins Credentials頁面,參見下圖

Jenkins Credentials

在Jenkins Nodes管理頁面添加Node,Host Key Verification Strategy中選擇Non Verifying Verification Strategy
如此,就可以通過SSH證書登錄Slave Node了。

重點:

由于Jenkins無法訪問私鑰,因此我們需要在Jenkins頁面上添加私鑰,也就是說,在添加Slave Node這個過程中,Master Node是作為SSH Client存在的,而Slave Node是作為SSH Server,這也是為什么要在Slave Node上將公鑰添加到Authorized列表中。

遺留問題:

理想狀態(tài)下,在Host Key Verification Strategy中應(yīng)該選擇Knows Hosts作為驗證方案,不知道是不是我把Jenkins安裝在了Docker里的原因,手動更新Knows Hosts文件后依然報錯。暫時記錄在這,后面找機會和資源驗證更新吧。

參考目錄:

How to Connect to Remote SSH Agents?
Host Key Verification for SSH Agents

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容