Jenkins Publish over SSH、SSH免密登录、SCP免密传输、Jenkins远程传输文件、Jenkins远程部署

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:

生成结果如下:

img

进入 /var/lib/jenkins/.ssh中,查看生成的密钥对

img

这里可以看到生成了两个文件

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中,以后就不用再输入密码,可以直接免密登录了。

img

可以看到免密登录配置成功了。

4、Jenkins中配置Publish over SSH

打开Manage Jenkins -> Configure System,在页面最下方有一个Publish over SSH的配置区域

img

img

生成时没有密码的话,Passphrase可以不用输入

我们只需要在Path to key 栏配置上刚才生成的密钥文件路径,然后就可以添加SSH Servers了。

在SSH Server中添加我们的传输了公钥的目标Linux服务器。

img

点击下方的Test Configuration,测试免密连接是否配置成功

img

输出Success则说明配置成功了。

如果需要添加更多的SSH Servers则重复第3步及其后续步骤即可。

posted on 2022-08-10 07:55  root-123  阅读(1375)  评论(0编辑  收藏  举报