资讯

展开

Jenkins配置远程服务器之Publish-over-SSH、SSH-Servers

作者:快盘下载 人气:

场景;
1、Publish Over SSH 插件是通过SSH连接远程服务器;可以远程执行Shell命令或传输文件
2、有两种验证方式;密码方式和秘钥方式
3、前置条件;需要安装 Public over SSH 插件

一、密码验证方式

1、位置;Jenkins 》系统管理 》系统配置》Publish over SSH
Jenkins配置远程服务器之Publish-over-SSH、SSH-Servers

2、添加 SSH Servers

远程路径必须已经存在 

Publish

3、点击Test;连接成功
Jenkins

二 、密钥方式

1、进入到远程目录;在目录节点下执行如下命令;生成rsa密钥

#生成rsa密钥;回车
ssh-keygen -t rsa

#把公钥内容追加到认证文件中
cat id_rsa.pub >> authorized_keys

#授权
chmod 700 /root/.ssh
chmod 700 /root/.ssh/id_rsa
chmod 700 /root/.ssh/id_rsa.pub
chmod 600 authorized_keys

在 //root/.ssh 目录下生成两个密钥文件;需要把公钥追加到authorized_keys中;
id_rsa;私钥
id_rsa.pub;公钥

2、把 id_rsa 私钥内容添加到 Publish over SSH 的 key 中
Publish

或者放到 Server 配置中也行
Jenkins

连接测试报错;
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B;73c5aba9]

报私钥无效;一般有两种原因;
(1);可能是你配置到jenkins里的私钥没有携带起止标志-----BEGIN RSA PRIVATE KEY-----或-----END RSA PRIVATE KEY-----;这两个是要带着的
(2);如果你是最新版本的docker镜像安装的jenkins容器;那么原因可能是容器内ssh版本太高;生成的私钥格式不被新版本ssh认可。解决方案是手动生成旧格式的秘钥
(3);生成旧的格式密钥;如下;

#生成rsa密钥;回车
ssh-keygen -m PEM -t rsa -b 2048

#把公钥内容追加到认证文件中
cat id_rsa.pub >> authorized_keys

#授权
chmod 700 /root/.ssh
chmod 700 /root/.ssh/id_rsa
chmod 700 /root/.ssh/id_rsa.pub
chmod 600 authorized_keys

说明;
(1);.ssh文件夹、id_rsa、id_rsa.pub 权限为700。authorized_keys权限为600
(2);ssh-keygen -m PEM -t rsa -b 2048;
-m 参数指定密钥的格式;PEM是rsa之前使用的旧格式
-b 指定密钥长度。对于RSA密钥;最小要求768位;默认是2048位

3、解决以上问题后;连接成功
over

点击【Test Configuration】;测试连接;显示Success即可;点击应用

三、使用

1、在项目构建配置中;增加构建步骤
Jenkins

2、选择后;添加服务器、执行命令等;点击应用保存
Publish
SSH、SSH

3、构建测试;查看控制台输出
 Publish

over

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!