首页 > 其他分享 >Jenkins配置Gerrit trigger连接失败的问题

Jenkins配置Gerrit trigger连接失败的问题

时间:2024-07-05 10:58:56浏览次数:15  
标签:Gerrit rsa trigger ssh Jenkins 连接 密钥

Jenkins配置Gerrit trigger连接失败的问题

问题现象

在使用 Jenkins 和 Gerrit 进行自动化构建和代码审核时,遇到了 Gerrit Trigger 使用 JSCH 库进行 SSH 连接的问题。具体来说,问题与 RSA 密钥签名兼容性有关,导致无法成功建立 SSH 连接:

已经确认过密钥对没有问题,在Jenkins所在的机器上通过ssh指定密钥可以连接上Gerrit服务器,但是Jekins无论如何都无法连接成功。

环境信息

Jenkins 版本: 2.466

Gerrit 版本: 2.14.19

OpenSSH 版本: 8.2p1

问题原因

Jenkins尝试连接Gerrit服务器时,是通过Java的jsch库进行ssh连接的,这种连接方式跟ssh直接连接还是有所区别。它所使用的验证算法与Gerrit不兼容,导致一直验证失败。Gerrit的版本较为老旧,它只认可ssh-rsa类型的密钥。

解决方法

配置 Jenkins 的 JVM 启动参数,指定 JSCH 使用 ssh-rsa 作为客户端公钥和服务器主机密钥的算法。

在Jenkins的服务文件(/lib/systemd/system/jenkins.service)中设置一下环境变量,分别配置 JSch(Java Secure Channel,一个用于 SSH2 的 Java 库)使用 ssh-rsa 作为客户端公钥算法;配置 JSch 使用 ssh-rsa 作为服务器主机密钥算法:

Environment="JAVA_OPTS=-Djsch.client_pubkey=ssh-rsa -Djsch.server_host_key=ssh-rsa"

重载systemd配置并重启Jenkins服务:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

再去尝试连接即可成功。

标签:Gerrit,rsa,trigger,ssh,Jenkins,连接,密钥
From: https://www.cnblogs.com/MyXjil/p/18285367

相关文章

  • Flink 窗口触发器(Trigger)(一)
    Flink的窗口触发器(Trigger)是流处理中一个非常关键的概念,它定义了窗口何时被触发并决定触发后的行为(如进行窗口数据的计算或清理)。一、基本概念定义:触发器决定了窗口何时被触发以及触发后的行为。在Flink中,窗口的触发是通过设置定时器来实现的。作用:控制窗口数据的聚合时机......
  • 【Unity】EventTrigger各事件触发时机解释
    OnSelect():当鼠标按下了一个当前未在选中状态的UI时触发。如果一个UI已经被选中(成为焦点UI),那么再点击这个UI时,则不会再一次触发OnSelect。OnDeselect():在OnSelect()已经执行过之后,又选中了另外一个物体时,原有的物体就会触发OnDeselect(),取消选择。OnUpdateSelect():在......
  • Jenkins 中 cd 与 dir
    Jenkinsfile如下:pipeline{agent{label'master'}stages{stage('tttt'){steps{sh"pwd"sh"mkdiraaa"dir('aaa'){......
  • 以Java项目为例,实现Jenkins对接CCE Autopilot集群
    本文分享自华为云社区《Jenkins对接CCEautopilot集群实战》,作者:可以交个朋友。一背景鉴于日趋流行的serverless技术架构、以及用户经常谈及的降本的需求。考虑Jenkins主从架构的特性,slave节点可以在工作的时候部署在任意平台上执行master节点下发的任务,因此可以基于CCEAuto......
  • Jenkins
    Docker安装Jenkins安装下载Jenkinsdockerpulljenkins/jenkins:2.426.2-lts**注:**需要指定版本号,不然拉取的镜像版本是比较老的版本创建挂载目录创建一个挂载目录,用于存放jenkins的数据mkdir-p/opt/docker/jenkins编写yml文件jenkins.ymlversion:'3.5'......
  • 修改Jenkins默认管理员admin密码
    1.删除Jenkins目录下config.xml文件中下面代码,并保存文件。<useSecurity>true</useSecurity><authorizationStrategyclass="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAccess>true</denyAnonymousReadAccess&g......
  • 图解 Jenkins Pipeline 的前端自动化部署,用上后真香!
    图解JenkinsPipeline的前端自动化部署,用上后真香!原创 悟空聊架构 悟空聊架构 2024-06-2720:57 广东 听全文你好,我是悟空。本文目录如下:一、Jenkins前端部署思路1.1整体架构图1.2部署步骤二、Pipeline和自由风格对比三、Pipeline核心脚本......
  • jenkins连接k8s
    目录Jenkins连接k8s集群1.Kubernetes插件简介2.Kubernetes插件使用2.1kubernetes的连接参数3.测试4.错误原因Jenkins连接k8s集群默认Jenkins是有2个执行器的,我们也可以通过增加节点的方式去让他拥有更多的执行器,连接固定节点的方法比较简单,按照他的步骤一步步来就好了,这......
  • Jenkins部署
    目录Jenkins部署1.创建sa2.创建pvc3.创建deployment4.创建service5.登录jenkins6.简单配置jenkins6.1安装插件6.2配置用户6.3配置插件下载地址6.3.1页面操作6.3.2容器操作6.3.3重启jenkins6.3.4安装插件6.3.5常用插件Jenkins部署CI/CD工具jenkins:能做CI,也能做CD......
  • Jenkins + K8s 实现动态 slave 配置
    环境介绍本次jenkins部署在本地服务器上,下面我们开始动态slave配置。k8s创建RBAC##首先需要创建命名空间pipeline[root@master1~]#catpipeline-acount.yamlapiVersion:v1kind:ServiceAccountmetadata:name:jenkins-slavenamespace:pipeline---ki......