准备:

服务器A:jenkins所在的服务器

服务器B:项目所在的服务器

 

第一步:

在jenkins上安装Publish Over SSH插件(系统管理---->插件管理)

 

第二步:

首先进入服务A的  /root/.ssh  目录下,查看有没有已经生成好的公钥和私钥.

如果没有,生成一个公钥

ssh-keygen -t rsa

之后控制台会提示你,输入SSH key 的文件名和密码,直接回车即可。使用默认的文件名和没有密码

再次进入 /root/.ssh 目录下就有三个文件,

你可以看看id_rsa.pub里边有没有东西,检查一下

cat id_rsa.pub

 

第三步:

把服务器A中生成 id_ras.pub  里边的内容拷贝到服务器B中的 ~/.ssh/authorized_keys  文件中(一般没有此文件,需要自己创建一下)

服务器B重启一下,此时服务器A已经可以免密登录服务器B了。

// 创建文件夹
mkdir .shh
// 创建文件
touch authorized_keys
// 修改文件
vim authorized_keys
// 提升权限
chmod 600 authorized_keys
chmod 700 ~/.ssh

// 打开设置
cd /etc/ssh/sshd_config

// 打开注释
// RSAAuthentication yes
// PubkeyAuthentication yes

// root用户是否可以通过ssh登录
// PermitRootLogin yes

// 禁用密码登录
// PasswordAuthentication no

// 重启
service sshd restart

 

第四步:

进入jenkins的系统管理---->系统配置, 往下拉有一个 Publish over SSH 选线,如下图

 

第五步:

创建一个maven项目,然后在 配置项目的时候目录下的Post Steps选择   

如上图,你就可以SSH Server 的name中看到你刚才设置的服务器B的ip。

 

大功告成!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐