Jenkins中ssh设置
  xNjBSslvbdnC 2023年11月02日 39 0

最近在搭建jenkins和gerrit相关的连通问题,对jenkins用ssh key问题

遇到的问题总结一下:


我们通过stora-jenkins这个账号访问gerrit,虽然都是同一个账号去访问,但是不同的操作位置,交互pub key的位置不一样


  1. jenkins配置gerrit的时候,ssh key永远不被发现的问题:

      

Jenkins中ssh设置_文件复制

最后发现不管怎么设置.ssh文件的权限,在Jenkins server上这里都找不到文件。解决方法如下:

​Jenkins Gerrit Trigger - "/var/lib/jenkins/.ssh/id_rsa" is not a valid key file - Stack Overflow​

其他人也遇到了同样的问题,最后通过 ssh-keygen -m PEM 生成秘钥可以被识别,问题得到解决


Jenkins中ssh设置_主目录_02

通过上述命令生成秘钥以后默认在.ssh目录下,要文件权限为

chmod  700 .ssh

chmod 600 .ssh/config

当我们登录到jenkins服务器上用stora-jenkins手动下载代码的时候,默认查找的位置是当前主目录下的.ssh 目录下的key信息,而且这里的权限必须设置正确

 复制id_rsa.pub 中key的信息到gerrit

Jenkins中ssh设置_文件复制_03

用stora-jenkins这个账号登录gerrit,并且把pub key信息添加到gerrit。


  1. jenkins配置gerrit的触发功能

    刚刚在上面我们创建了key,但是还是出错

Jenkins中ssh设置_文件权限_04

原因可能是权限不够

Jenkins中ssh设置_文件权限_05

我们新建一个目录,把刚才生成的key所有文件复制一份到这个目录下,然后给他777的权限,

Jenkins中ssh设置_文件权限_06

这时候可以被正常发现,并且连接ok

  1. 在jenkins执行shell命令操作gerrit

Jenkins中ssh设置_文件权限_07

可以看到jenkin在操作ssh的时候默认用的是/var/lib/jenkins/.ssh/目录下的秘钥,如果秘钥不多,那还是无法操作,所以我们再把/root/.ssh/目录下的东西复制一份到/var/lib/jenkins/.ssh目录下,而且这个目录下对文件的权限也有要求,权限不对,也无法访问

Jenkins中ssh设置_文件复制_08

再次操作 就成功了

Jenkins中ssh设置_主目录_09

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

xNjBSslvbdnC
最新推荐 更多