一、jenkins服务器配置公钥和私钥
1、使用ssh-keygen命令进行创建
这里可以创建两类密钥,RSA 和 DSA,具体知识点请自行百度
2、ssh-keygen -t rsa
-t 指定密钥类型,默认rsa,一路回车
3、一路回车后,会在当前登录用户家目录下,生成.ssh文件夹,这里是root用户
id_rsa 就是私钥,id_rsa.pub 就是公钥
2019年10月17更新:windows上生成SSH时,会生成OPENSSH格式导致在Jenkins上使用不了。
需要修改格式,使用命令:ssh-keygen -m PEM -t rsa
原文:
验证使用了参数 -b,也会报错,去掉-b使用默认长度
4、将公钥的内容复制到目标服务器上
首先,目前服务器上可能没有.ssh文件夹,也没有authorized_keys文件,可以手动创建一个
这里注意,也需要你在登录账号的家目录下创建./ssh下创建authorized_keys文件
将Jenkins服务器上的 id_rsa.pub 的内容拷贝
复制到 目标服务器上 的authorized_keys里面,wq保存退出
友情提示:不要在意服务器的名称,我是克隆的,所以一样
2021年1月12日更新:ssh总是免密登录失败
服务器上登录用户的.ssh文件的权限,必须是700
服务器上登录用户的authorized_keys文件权限必须是600或者644
服务器上登录用户的家目录文件权限必须是700
二、在公钥和私钥设置好的前提下,我们进行Jenkins连接目标服务器的设置
1、安装插件 Publish over SSH
若是没有生效,可能需要重启服务器,小技巧
2、进入系统管理-系统设置页面
3、页面拉到最下边,一般都是最下边了,找到Publish over SSH,或者使用ctrl+f 快速查找
4、找到SSH Servers 按照图中进行配置,password不用去管浏览器自动填充的
将Jenkins服务器上的 id_rsa 内容复制到这里面
5、继续完成配置,并且测试是否连接成功
2020/7/7日更新
在近期使用过程中,发现少了一步,在job配置中缺少了如何把包发送到目标服务器的讲解,目前加上