持续集成 jenkins 上配置 publish over ssh 插件

徐健鑫 · 2019年12月10日 · 最后由 优雅的测试媛 回复于 2021年03月23日 · 5588 次阅读

jenkins 插件 Publish Over SSH
通过 Publish Over SSH 插件进行远程 scp 文件进行部署。

生成 ssh 密钥,并发布公钥
使用命令生成密钥

ssh-keygen

三次回车完成,在家目录.ssh 目录中生成两个文件
ssh-copy-id 用户名 @ 想要免密登录的 ip

确认.ssh 目录下是否生成 authorized_keys 和 authorized_keys 两个文件

安装 Publish Over SSH 插件
系统设置–>插件管理

安装插件根据图片进行安装

安装完成后,进入系统管理–>系统设置配置 Publish Over SSH

如图所示是 jenkins 上的 ssh 插件的公有配置部分,下面详细讲解下(其实比较简单,但是自己遇坑了也就记录一下)

Passphrase:如果自己在本地生成的 ssh key 没密码的话,这里不需要填写

Path to key:这里填写私钥的地址

key:这里填写私钥的内容(cat ~/.ssh/id_rsa 查看)

Name:这里自己填写一个好记的名字

Hostname:主机 ip 或者域名

Username:登录机器的用户名

Remote Directory:远程的操作目录(这个需要自己的对应的服务器上创建好目录,并且登录名对应的用户需要有相应的权限)

***注意:这种利用私钥访问的办法需要事先将你的公钥放置到对应服务器的~/.ssh/authorized_keys 中(一般 利用 ssh-copy-id 命令免密登录)**

以上登录方式不推荐,点击 “Use password authentication, or use a different key”,利用私有配置登录才是我们推荐的

Passphrase / Password:这里填写 username 登录名对应的密码(其他的配置这里就不叙述了,看字段名应该就能明白)

一般填写密码就能登录了,点击 Test configuration,出现 Success 表示连接成功;但有时候会报如下错:

Failed to connect or change directory
[java.net.ConnectException: Connection refused: connect]]

这是由于服务器上的 sshd 服务没有开启导致的,登录到服务器上执行命令
sudo service sshd start //开启 sshd 服务
或者是如下错误
jenkins.plugins.publish_over.BapPublisherException: Failed to connect session for config [131]. Message [Auth fail]
这是由于账号密码不一致导致的,自行核查下账号密码.或者采用在私有配置中利用私钥来进行登录(这种方式参考上面的配置,在 path to key 和 key 中填好相应的内容)
若确认自己的密码都正确,点击高级

如果是如下错误:
jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [aliyun]. Message [USERAUTH fail]]
这是 Passphrase 不正确,请确认 ssh-keygen 时,输入的 Passphrase 是否需填写的一致
————————————————
原文链接:https://blog.csdn.net/tellmewhyto/article/details/81009148
原文链接:https://www.bfshu.com/essay/jenkins/141

共收到 1 条回复 时间 点赞

感谢楼主,搞定。
百度了一大圈,就你这个贴子管用

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册