jenkins使用 ED25519密钥 拉取Git 代码 配置

在 Jenkins 服务器上生成 ED25519 密钥对

bash 复制代码
# 生成 ed25519 密钥对,-C 后是注释,方便识别
ssh-keygen -t ed25519 -C "jenkins@your-company"

# 按提示操作:
# 1. 按回车确认保存路径(默认 ~/.ssh/id_ed25519)
# 2. 可以设置密码短语(passphrase),也可以直接回车跳过

命令执行后,会在 ~/.ssh/ 目录下生成两个文件:

  • id_ed25519:私钥(Jenkins 用,需妥善保管)
  • id_ed25519.pub:公钥(添加到 Git 服务器)

将公钥添加到 Git 服务器

复制公钥内容

bash 复制代码
cat ~/.ssh/id_ed25519.pub

复制输出的全部内容,通常以 ssh-ed25519 开头

在 Jenkins 中配置私钥凭据

登录 Jenkins,点击左侧菜单的 "Manage Jenkins" -> "Manage Credentials"

选择 "System" 下的 "Global credentials",点击 "Add Credentials"。

  • Kind:选择 "SSH Username with private key"。
  • Scope:通常保持默认 Global。
  • ID:给这个凭据起一个有意义的名字,例如 git-server-ssh-key。
  • Username:通常填写 git(对于 GitHub、GitLab、Gitee 等公共平台,用户名固定为 git)。
  • Private Key:选择 "Enter directly",然后将 步骤一 中生成的 私钥文件 (id_ed25519) 的完整内容复制粘贴到输入框中。
    注意:粘贴的内容必须包含 -----BEGIN OPENSSH PRIVATE KEY----- 和 -----END OPENSSH PRIVATE KEY----- 标记。
  • Passphrase:如果生成密钥时设置了密码短语,在此处输入

在 Jenkins Job 中使用该凭据

配置好凭据后,就可以在具体的 Job 中使用了。

进入你的 Jenkins Job 配置页面。

在 "Source Code Management" 部分,选择 Git。

在 "Repository URL" 中输入仓库的 SSH 地址,例如 git@github.com:yourname/repo.git。

在 "Credentials" 下拉菜单中,选择刚刚创建的那个凭据。

保存配置。此时 Jenkins 应该就能通过 SSH 协议拉取代码了。

Host key verification failed 或者 代码拉取报错

要设置 Jenkins 的 Host Key 验证策略

  • 进入 "Manage Jenkins" -> "Manage Nodes and Clouds" -> "Configure Global Security"。
  • 向下滚动找到 "Git Host Key Verification Configuration" 部分。
  • 将策略从默认的 "Known hosts file" 改为 "Accept first connection"。
  • 点击保存。

这种方式会告诉 Jenkins 在第一次连接时自动接受服务器的主机密钥,操作简单且通常不会带来安全问题。

相关推荐
Demons_kirit9 小时前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
鬼手点金16 小时前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
索西引擎17 小时前
Git 大文件阻断推送的成因与历史重写修复
git
csdn2015_17 小时前
git 合并分支
大数据·git·elasticsearch
91440623218 小时前
mac Git 账户切换问题
git·macos
留岁19 小时前
Git 命令行学习记录
git·学习·elasticsearch
笨笨饿19 小时前
#142_VS Code.map文件插件的用法
git·python·stm32·单片机·嵌入式硬件·物联网·vim
鬼手点金21 小时前
如何选择模型
java·前端·人工智能·git·深度学习
余槐i21 小时前
Claude Code Skills 放对目录却不生效:插件启用顺序与缓存的三个坑
git·开发工具·ai agent·mcp·claude code
程序员差不多先生2 天前
Anthropic 用 5 个月重写了 Git:当 AI Agent 把版本控制系统逼到墙角
人工智能·git·elasticsearch·deepseek v4 pro·kimi k3·glm 5.3·qwen3.7 max