場(chǎng)景:
1、Publish Over SSH 插件是通過SSH連接遠(yuǎn)程服務(wù)器,可以遠(yuǎn)程執(zhí)行Shell命令或傳輸文件
2、有兩種驗(yàn)證方式,密碼方式和秘鑰方式
3、前置條件:需要安裝?Public over SSH 插件
一、密碼驗(yàn)證方式
1、位置:Jenkins 》系統(tǒng)管理 》系統(tǒng)配置》Publish over SSH
2、添加?SSH Servers
遠(yuǎn)程路徑必須已經(jīng)存在?
3、點(diǎn)擊Test,連接成功
二 、密鑰方式
1、進(jìn)入到遠(yuǎn)程目錄,在目錄節(jié)點(diǎn)下執(zhí)行如下命令,生成rsa密鑰
#生成rsa密鑰,回車
ssh-keygen -t rsa
#把公鑰內(nèi)容追加到認(rèn)證文件中
cat id_rsa.pub >> authorized_keys
#授權(quán)
chmod 700 /root/.ssh
chmod 700 /root/.ssh/id_rsa
chmod 700 /root/.ssh/id_rsa.pub
chmod 600 authorized_keys
在?//root/.ssh?目錄下生成兩個(gè)密鑰文件,需要把公鑰追加到authorized_keys中:
id_rsa:私鑰
id_rsa.pub:公鑰
2、把?id_rsa?私鑰內(nèi)容添加到?Publish over SSH 的 key 中
或者放到 Server 配置中也行
連接測(cè)試報(bào)錯(cuò):
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@73c5aba9]
報(bào)私鑰無效,一般有兩種原因:
(1):可能是你配置到j(luò)enkins里的私鑰沒有攜帶起止標(biāo)志-----BEGIN RSA PRIVATE KEY-----或-----END RSA PRIVATE KEY-----,這兩個(gè)是要帶著的
(2):如果你是最新版本的docker鏡像安裝的jenkins容器,那么原因可能是容器內(nèi)ssh版本太高,生成的私鑰格式不被新版本ssh認(rèn)可。解決方案是手動(dòng)生成舊格式的秘鑰
(3):生成舊的格式密鑰,如下:
#生成rsa密鑰,回車
ssh-keygen -m PEM -t rsa -b 2048
#把公鑰內(nèi)容追加到認(rèn)證文件中
cat id_rsa.pub >> authorized_keys
#授權(quán)
chmod 700 /root/.ssh
chmod 700 /root/.ssh/id_rsa
chmod 700 /root/.ssh/id_rsa.pub
chmod 600 authorized_keys
說明:
(1):.ssh文件夾、id_rsa、id_rsa.pub 權(quán)限為700。authorized_keys權(quán)限為600
(2):ssh-keygen -m PEM -t rsa -b 2048:
-m 參數(shù)指定密鑰的格式,PEM是rsa之前使用的舊格式
-b 指定密鑰長(zhǎng)度。對(duì)于RSA密鑰,最小要求768位,默認(rèn)是2048位
3、解決以上問題后,加入舊的私鑰內(nèi)容,連接成功
點(diǎn)擊【Test Configuration】,測(cè)試連接,顯示Success即可,點(diǎn)擊應(yīng)用
三、使用
1、在項(xiàng)目構(gòu)建配置中,增加構(gòu)建步驟
2、選擇后,添加服務(wù)器、執(zhí)行命令等,點(diǎn)擊應(yīng)用保存
3、構(gòu)建測(cè)試,查看控制臺(tái)輸出
?文章來源:http://www.zghlxwxcb.cn/news/detail-421001.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-421001.html
到了這里,關(guān)于Jenkins配置遠(yuǎn)程服務(wù)器之Publish over SSH、SSH Servers、以及Linux系統(tǒng)生成RSA公私密鑰的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!