Jenkins 使用 publish over ssh 遇到 auth fail问题,解决了但是不知道为什么?

新手上路,请多包涵

环境: jenkins使用 docker 部署在目标服务器A中.其中ABCD四台服务器为内网环境.尝试用 jenkins部署代码到目标服务器C.使用Publish over SSH时,用了以下方法连接不上服务器,报错 auth fail

jenkins.plugins.publish_over.BapPublisherException: Message [Auth fail]]

解决方法: 将目标服务器用户的公钥放到自己的authorized_keys中.接下来说尝试流程:

  1. 将 jenkins 服务 的 jenkins 用户 的公钥放入目标服务器root账号authorized_keys中,再将目标服务器私钥放入jenkins的服务器配置中.
  2. 将 jenkins 服务 中 root 用户 生成的公钥放入目标服务器root账号authorized_keys中,再将目标服务器私钥放入jenkins的服务器配置中.
  3. 在目标服务器生成jenkins用户. 再重复1,2的方法,这次是放入目标服务器jenkins 用户 中.

上面三种方法基本上网上能搜到的所有方法,此时怀疑是不是内网部署的原因,但是也毫无头绪.以上大部分都体现为只要正确存放公钥,ssh,scp到目标服务器都是通的,唯独jenkins死活连不上.此时因为尝试了各种ssh验证,误打误撞将目标服务器自己的公钥放入了自己的authorized_keys中,连接成功.此时测试的是目标服务器的jenkins用户,之后改为root用户,一样成功.

阅读 5.9k
1 个回答

你用这个插件的话我推荐你使用密码来连接服务器,key那个麻烦了.
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进