1、Jenkins所在服务器安装ssh
yum install ssh -y
将SSH服务设为开机自启
sudo systemctl enable sshd
2、生成密钥对
ssh-keygen -t rsa
// 密钥对生成路径,默认为/root/.ssh/id_rsa,可以手动输入其他地址
Enter file in which to save the key (/root/.ssh/id_rsa):
// 这两项可以直接敲enter
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
生成结果如下:
进入 /var/lib/jenkins/.ssh中,查看生成的密钥对
这里可以看到生成了两个文件
is_rsa 为密钥
id_rsa.pub 为公钥
3、将公钥传输到目标Linux服务器
// 这里大家自行调整公钥文件路径和目标服务器IP地址
ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.51.xxx.xxx
测试一下ssh免密登录
ssh 10.51.xx.xxx "pwd"
注:ssh免密登录第一次需要手动输入密码,并将这些信息保存到/root/.ssh/known_hosts中,以后就不用再输入密码,可以直接免密登录了。
可以看到免密登录配置成功了。
4、Jenkins中配置Publish over SSH
打开Manage Jenkins -> Configure System,在页面最下方有一个Publish over SSH的配置区域
生成时没有密码的话,Passphrase可以不用输入
我们只需要在Path to key 栏配置上刚才生成的密钥文件路径,然后就可以添加SSH Servers了。
在SSH Server中添加我们的传输了公钥的目标Linux服务器。
点击下方的Test Configuration,测试免密连接是否配置成功
输出Success则说明配置成功了。
如果需要添加更多的SSH Servers则重复第3步及其后续步骤即可。