一 诉求
Jenkins部署在 服务器A, 需要通过Jenkins将构建项目后部署到 服务器B
二 报错
已在Jenkins - 配置 - Publish over SSH 中配置 服务器B的连接信息如下:
SSH Server配置完成后点击 Test Configuration 报错:
jenkins构建项目报错:
三 定位 & 解决
Jenkins 配置中配置了通过 SSH 连接 服务器B,此种方式需要使用jenkins所在服务器A生成ssh密钥,并将密钥配置在公共配置的key中,同时需要将公钥放到每个应用机器的 ~/.ssh/authorized_keys文件中,所以排查可能是因为 服务器B 中没有配置 jenkins 的SSH Key,所以导致 Jenkins 所在的服务器A 连接 服务器B失败;
查看服务器B 的auth key配置:
服务器B 上未配置 authorized_keys 信息,创建 authorized_keys 文件并添加 服务器A 生成的ssh秘钥
重新进入 Jenkins - 配置 - Publish over SSH,执行 Test Configuration,成功:
以上~
PS:同一种现象可能存在多种原因,以上仅供参考~
查看端口占用命令:netstat -ntlp