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