在 Jenkins for Git 中管理 SSH 密钥

2024-01-22

我正在尝试让 Jenkins 启动并运行 GitHub 托管存储库(使用 Jenkins Git 插件)。该存储库有多个 git 子模块,因此我不确定是否要尝试管理多个部署密钥。

我的个人 GitHub 用户帐户是我希望使用 Jenkins 参与的每个项目的协作者,因此我在其中生成了一个 SSH 密钥/var/lib/jenkins/.ssh并将其添加到我的个人 GitHub 帐户中。

但是,当我尝试将存储库 URL 添加到 Jenkins 项目配置时,我得到:

Failed to connect to repository : Command "git ls-remote -h [email protected] /cdn-cgi/l/email-protection:***/***.git HEAD" returned status code 128:
stdout: 
stderr: Host key verification failed. 
fatal: The remote end hung up unexpectedly

同样,当我安排构建时,我得到:

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

我还尝试按照概述设置 SSH 配置文件here https://web.archive.org/web/20130502014020/blog.firmhouse.com/configuring-multiple-private-ssh-deploy-keys-in-jenkins-for-github-com,但无济于事。

任何人都可以阐明吗?谢谢

EDIT

我应该补充一点,我正在运行 CentOS 5.8


它看起来像github.comjenkins 尝试连接的主机未在 Jenkins 用户的列表中列出$HOME/.ssh/known_hosts。 Jenkins 以用户身份在大多数发行版上运行jenkins并因此有自己的.ssh存储公钥列表的目录和known_hosts.

我能想到的解决这个问题的最简单的解决方案是:

# Login as the jenkins user and specify shell explicity,
# since the default shell is /bin/false for most
# jenkins installations.
sudo su jenkins -s /bin/bash

cd SOME_TMP_DIR
# git clone YOUR_GITHUB_URL

# Allow adding the SSH host key to your known_hosts

# Exit from su
exit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Jenkins for Git 中管理 SSH 密钥 的相关文章

  • 如何正确设置 Azure DevOps 和 GitHub 之间的双向同步

    我想通过执行以下操作在 Azure DevOps 和 GitHub 之间创建双向同步 使用 CI 触发器创建 Azure DevOps 管道 将更改从 Azure DevOps 存储库推送到 GitHub 中的分支 创建第二个管道 用于侦听
  • git 标签也会被推送吗?

    自从我创建了我的存储库以来 我所使用的标签似乎 创建不会被推送到存储库 当我做git tag于 本地目录所有标签都存在 但是当我登录到 远程存储库并执行git tag 仅出现前几个 可能是什么问题 你可以这样做 git push tags
  • 将存储库从 Github 移至 Gitlab

    有没有办法将整个存储库从 Github 移动到 GitLab 对于代码本身来说 只需在 GitLab 上创建一个新的存储库并推送到它即可 Wiki 页面位于 Github 上的单独分支中 并通过 Git 机制进行管理 据我所知 GitLab
  • Jenkins 管道构建如何确定工作区文件夹?

    在 Jenkins 管道中 当在特定节点上运行构建时 会在该代理上分配工作空间 我们没有设置工作空间路径 因此它是自动确定的 据我了解 当同一作业在同一代理上同时运行时 工作区必须包含执行程序编号以隔离构建 但是 工作空间路径到底是如何构建
  • 撤消多个文件和文件夹“git add”[重复]

    这个问题在这里已经有答案了 我执行了 git add 现在我想恢复 git add 我怎样才能做到这一点 git reset 这相当于git reset HEAD 将取消 add 更常见的是 取消暂存 所有文件 In Git revert用
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 使用 pscp 命令时出现“未找到命令”

    我正在使用 PuTTY pscp 将项目文件夹传输到 AWS 实例 我可以使用 ppk 公钥文件进行连接并且ssh命令成功打开并登录 这里我使用命令来传输文件夹 pscp r i C path to my keys converted pe
  • 如何根据作业参数设置 Jenkins 环境变量?

    我有一个项目 需要根据用户选择的选择参数设置环境变量 每个项目都有一个主题项目依赖项 我想让用户选择项目 然后从属性文件加载主题名称 就像是 proj1 theme1 proj2 theme2 proj3 theme3 如果用户选择proj
  • 竹子 - 构建我的拉取请求

    当拉取请求进入 git 时 我试图触发竹子中的构建 我可以将 webhook 信息发送到竹子 但它不是构建适当的 sha 标记的签入 而是构建 主 分支 这是否需要对竹子进行一些自定义 git 设置 到目前为止我还没有看到任何简单的事情 在
  • 在 MySQL 数据库上使用版本控制 (Git)

    我是一名 WordPress 设计师 开发人员 越来越多地使用版本控制 特别是 Git 尽管我确实在某些项目中使用 SVN 我目前正在使用 Beanstalk 作为我的远程仓库 将所有 WordPress 文件添加到我的存储库中是没有问题的
  • 无法在 Eclipse 中运行从 Git 导入的项目

    我的 Eclipse 工作区中有一个来自 Github 的项目 通过 File gt Import gt Projects from GIT 但是 我无法运行该示例 因为 运行方式 下的唯一选项是 运行配置 转到 运行配置 后 我单击 浏览
  • 如何对私有 jelastic 环境进行版本控制

    为了跟踪 Jelastic 托管环境的配置 我想在 git 存储库中对其进行版本控制 该存储库应该是私有的 并包含多个具有不同版本的不同分支 例如master abc123 v1 1 我的第一次尝试是创建一个私有 github 存储库 其中
  • 无法在 PHP 中使用 SFTP

    我正在用 PHP 编写一个简单的 SFTP 客户端 因为我们需要通过 n 个远程服务器以编程方式检索文件 我正在使用 PECL SSH2 扩展 不过 我遇到了障碍 php net 上的文档建议您可以这样做 stream fopen ssh2
  • 我的终端中的彩色、并排、内联 git diff 输出

    请注意 此问题不是该问题的重复问题 而是该问题的后续问题 当我执行 git diff 时 如何获得并排差异 https stackoverflow com questions 7669963 how can i get a side by
  • Git 择优挑选然后 rebase

    当我在 git 中挑选樱桃后进行 rebase 时 有一些我不明白的事情 有人可以告诉我发生了什么事吗 场景是这样的 我正在主分支和主题分支上工作 如下所示 该主题有两次提交 C D topic A B master 我的主题分支有问题 所
  • 如何将用户输入密码与凭据密码进行比较

    我有一个脚本化管道 它使用以下命令请求用户的密码input函数并将其与用户保存的凭据密码进行比较 如果用户输入的是一个类型string然后就可以了 但是 当我将输入类型更改为password 因此当用户键入它时 它在屏幕上不可见 它会失败并
  • Git在Windows中的克隆比在Linux中慢得多

    我一直在追寻 Windows 上 github 克隆速度极慢的问题 Linux kali 没有这个问题 我的下行连接速度为 100 40 megabit s 我可以获得接近 8mb s 的下载速度 没有问题 我已将电脑直接插入互联网插座 无
  • 无法在 github 上的特定分支上生成 git no such file or directory

    问题出在这个 fork repo 上 https github com RubenWillems CCNet https github com RubenWillems CCNet 我可以在同一台笔记本电脑上安装其他叉子 但不能使用此叉子
  • 为什么我无法在 Windows 10 中将 notepad++ 设置为 git 提交编辑器?

    我知道这个问题已经被不止一次地提出和回答过 但我尝试了答案所建议的至少十种不同的方法 但没有一个对我有用 我总是得到nano当我这样做时作为编辑 git commit 如果我可以剪切并粘贴到nano 但这是做不到的 举个例子 这是我的 gi

随机推荐

  • 部署 Perl 应用程序

    部署 Perl 应用程序的最佳实践是什么 假设您正在部署到安装了少量 CPAN 模块的普通盒子上 理想的构建 部署方法是什么 Module Build ExtUtils MakeMaker 其他 我正在从那些针对大型应用程序重复执行此操作的
  • 如何使用 Office 2010 调试 Office 2007-addin

    我想开发一个适用于 Word 2007 和 Word 2010 的 Word 插件 因此 我在 Visual Studio 中创建了一个 Word 2007 插件项目 我的机器上 仅 安装了 Word 2010 当我尝试从 Visual S
  • 如何访问vagrant box laravel/homestead中的特定端口?

    我正在我的 vagrant laravel homestead 盒子上开发一个节点项目 一切正常 当我转到我的主机定义时 我可以访问该项目 etc hosts 192 168 10 10 project 但是 我正在尝试使用 webpack
  • android 是否可以在来电或去电时录制通话

    在android中 可以在不打开手机扬声器的情况下在来电 去电期间录制语音通话 我在android市场上看到过一个应用程序 由于它使用麦克风进行录音 因此在不打开扬声器的情况下无法正确记录对方的声音 可以通过其他技术来完成吗 final M
  • 从两个不同的脚本写入和读取 fifo

    我有两个 bash 脚本 一个脚本写入 fifo 第二个从 fifo 读取 但在第一个结束之后写入 但有些东西不起作用 我不明白问题出在哪里 这是代码 第一个脚本是 作者 bin bash fifo name myfifo Se non e
  • Git 将文件添加到存储库

    我遵循基本的 Git 教程并添加了 README 文件 效果很好 然后我将项目文件复制到同一文件夹并尝试通过运行将它们添加到存储库 git add all git ci test my alias for commit git push o
  • git 项目的 Eclipse 设置

    关于这个话题有很多问题 但目前还没有令人满意的答案 例如this https stackoverflow com questions 8820668 the current branch is not configured for pull
  • ARM Data Abort错误异常调试

    所以现在我明白我遇到了 ARM 数据中止异常 我了解了如何捕获异常本身 STL 库中的错误地址 但我想在异常之前返回堆栈帧 我正在使用 IAR 工具链 它告诉我异常后调用堆栈不可用 有没有一种技巧可以说服工具向我显示调用堆栈 感谢您的快速帮
  • 滚动窗口重访 - 添加窗口滚动数量作为参数 - 向前分析

    我一直在网上搜索可以创建的方法滚动窗户这样我就可以以通用的方式对时间序列执行称为前向分析的交叉验证技术 然而 我还没有找到任何在 1 窗口大小方面具有灵活性的解决方案 几乎所有方法都有这个 例如 pandas rolling https p
  • 拖动选项卡以将其置于前面

    我正在将数据从应用程序外部拖到 TabControl 上 我希望能够拖动 选项卡 并将该选项卡带到前面 TabControl 和 TabItems 上的拖动事件似乎仅针对活动选项卡触发 并且仅在拖动选项卡内容而不是 选项卡 本身时触发 该控
  • 增加图形库和访问者

    我正在编写一个用于操作键图的库 并且我正在使用 Boost Graph Library 来存储数据 不幸的是 我似乎无法弄清楚如何使用它来实现正确的访问者模式 因为您无法对顶点进行子类化 您必须依赖 属性 库中提供的访问者框架似乎非常适合使
  • 如何通过电子邮件向某人发送 git 存储库?

    我努力了 git archive HEAD format zip gt archive zip 然后我通过电子邮件发送 archive zip 在另一端他们将 archive zip 解压缩到一个文件夹中 但是当他们尝试任何 git 命令时
  • 从 DataTemplate UWP 绑定 UserControl DP

    我有一个FlipView这表明雕像 雕像包含一个Path到他们的形象 将此属性绑定到常规 DataTemplate 就可以了 下面的代码工作正常
  • 指向页面部分的锚链接在浏览器刷新、后退和前进时不起作用

    我制作了一个 html 页面 页面内有链接 div a href first first a a href second second a div First div div div Second div div div 但此代码不适用于页
  • 如何配置 rhino 为 angularjs 控制器运行 jasmine 测试

    我在使用 Jasmine sbt 插件为 Angular JS 应用程序进行单元测试时遇到问题 当我将 angular js 版本 1 3 1 添加到 test dependency js 时 EnvJasmine loadGlobal E
  • F# printfn 异常

    任何人都可以解释为什么这会导致错误 let xs Mary Mungo Midge Array iter printfn xs 虽然这不会 Array iter printfn Mary Mungo Midge printfn 的签名是Pr
  • 如何让 Django 将调试信息打印到控制台?

    我使用 urllib 来访问我的应用程序而不是浏览器 因此发生错误时我看不到调试屏幕 将正常调试信息发送到控制台或文件的最佳方法是什么 编辑 我已经捕获了页面的输出 但是当我将其打印到屏幕上时 它充满了大量无用的 html 我可以得到错误吗
  • 在 JavaFX 中使用多个选择框来过滤列表视图

    我正在尝试使用多个选择框为我的列表视图创建一个过滤器函数 但我不知道如何做到这一点 因为我对 JavaFX 还很陌生 我做了一些研究 听说需要使用过滤列表 但大多数在线示例仅围绕使用文本字段 这是我的控制器类 FXML private Ch
  • 如何使 tf.data.Dataset 在一次调用中返回所有元素?

    有没有一种简单的方法来获取整个元素集tf data Dataset 即我想将数据集的批量大小设置为我的数据集的大小 而无需专门向其传递元素数量 这对于验证数据集非常有用 我想一次性测量整个数据集的准确性 我很惊讶没有一种方法可以获取 a 的
  • 在 Jenkins for Git 中管理 SSH 密钥

    我正在尝试让 Jenkins 启动并运行 GitHub 托管存储库 使用 Jenkins Git 插件 该存储库有多个 git 子模块 因此我不确定是否要尝试管理多个部署密钥 我的个人 GitHub 用户帐户是我希望使用 Jenkins 参