1 Publish over SSH插件安装
打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”,点击页面的“直接安装”按钮,系统会自动安装,此插件安装后不需要重启Jenkins。如果插件安装成功在“系统管理>系统设置”会出现相关配置项。
插件安装完成后,需要重启才能生效。
2 SSH Server 配置
SSH Server配置为Publish Over SSH中运程机的配置,分“基本设置”和“高级设置”两部分;“基本设置”主要是运程机IP、SSH用户名、SSH端口、连接超时时间等,“高级设置”和大部分“全局设置”中的选项相同。Job中使用的每一个运程机都要在这里进行配置。
配置的基本思路是:
第一步:利用xshell生成公钥和私钥,保存好公钥和私钥文件。
第二步:将公钥放到被管理服务器上的
2.1 基本设置
SSH Server的基本设置如下图:
此处设置在使用“172.16.18.192-SSH”的所有设置中都生效,相当于SSH节点的全局设置;基于与“全局设置”中同样的原因这里的设置在Job中也可以被覆盖,这在多用户进行远程操作时很有必要,如在172.16.18.192这台机器上有userA和userB两个用户分别用来部署"应用A"和“应用B”。
2.2 参数说明

Passphrase:SSH的密码 使用用户名/密码登录时为用户名的密码,使用私钥登录时为私钥的密码。 Path to key:存放在Jenkins服务器上的SSH私钥的文件路径 私钥文件的路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径 Key:私钥私钥导出后的文本内容。 如果“Key”和“Path to key”都设置,则“Key”的优先级较高,私钥的密码是“Passphrase”中设置的内容。 Disable exec:禁止在目标机上执行命令 勾选后将会忽略在Job配置中“Exec command”选项中设置的命令。Jenkins的说明文档中的“The Disable exec in the advanced settings for individual configurations will be ignored.”没有完全理解,从实际效果来看,只要“Disable exec”被勾选后,不管SSH Server中是否勾选“Disable exec”,Job中设置的命令都将补忽略。 参数说明 Name SSH节点配置的名称,在Job中使用Publish over SSH插件时,此名称将出现在“SSH Server”中“Name”的下拉列表中,如下图: Hostname 通过SSH连接到的机器的主机名或IP Username SSH服务使用的用户名,使用key进行连接时为key指定的用户名 Remote Derictory 运程机器上真实存在的目录,并且“Username”指定的用户要有访问此目录的权限,插件将把文件传送到此目录下。
2.3 高级设置
高级设置里可以设置SSH端口、重试时间以及重新设置“全局设置”中的选项,由于做用相似,不再做重复说明,设置如下图: