准备:
服务器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。
大功告成!