Jenkins配置SSH免密登录

本文以Windows上的Jenkins免密登录Linux服务器为例说明,Linux上Jenkins远程免密登录与此原理一致。

第一步:Jenkins安装Publish Over SSH插件
点击Dashboard -- Manage Jenkins -- Manage Plugins菜单进入插件安装页面,在可选插件-搜索框中输入:Publish Over SSH查询到插件后,直接下载安装重启即可。

第二步:将Jenkins服务器公钥写入远程登录服务器对应用户下的authorized_keys文件

Jenkins服务器公钥文件目录:C:\Users\whwtr\.ssh\id_rsa.pub
远程Linux用户authorized_keys文件目录:/home/business/.ssh/

如果本地或服务器上对应用户下没有.ssh目录,则可执行ssh-keygen -t rsa命令生成公私钥文件。

将Jenkins服务器公钥内容追加至远程服务器authorized_keys文件:
cat id_rsa.pub内容 >> authorized_keys

然后执行以下授权:
chmod 600 ~/.ssh/authorized_keys

最后在cmd中可通过ssh命令测试远程免密登录是否配置成功
C:\Users\whwtr>ssh -p22 business@39.xx.xx.xx

具体配置可参考:
Windows配置免密登录Linux服务器

以上配置没问题后,可继续第三步Publish over SSH配置操作。

第三步:Publish over SSH配置

在Jenkins中,点击:Dashboard -- Manage Jenkins -- Configure System菜单进入系统配置页面,一直往下拉至Publish over SSH部分,如下图所示:

jenkins-ssh-01.pngjenkins-ssh-01.png

首先,配置Jenkins服务器私钥(二者选其一):
(1)Path to key:配置私钥路径Path;
(2)Key:配置私钥文本内容;

本文使用配置私钥路径的方式。然后,继续往下,点击新增按钮,新增SSH Servers,具体配置参考下图:

jenkins-ssh-02.pngjenkins-ssh-02.png

SSH Server说明:
Name:当前服务器名称,一般情况以项目名-环境-服务器IP命名。例如:business-api-test-10.10.0.2
Hostname:远程服务器IP
Username:远程免密登录用户
Remote Directory:远程登录默认路径,直接配置为根路径“/”即可

配置好之后,点击Test Configuration按钮测试,如果结果为:Success,则表示远程免密登录配置成功。

至此,Jenkins远程免密登录即配置完成。

最后修改于:2022年08月25日 19:15

添加新评论