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 或者 代码拉取报错

要设置 JenkinsHost Key 验证策略

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

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

相关推荐
星谐39 分钟前
GitX智能版本控制助手:告别Git命令行,让版本控制更高效
git
错把套路当深情1 小时前
Git 常用命令大全
git
向上_503582915 小时前
解决git提交冲突
git
学习使我健康5 小时前
Git Submodule 深度避坑指南
git
晓庆的故事簿6 小时前
【无标题】
elasticsearch·jenkins
生万千欢喜心7 小时前
linux 安装 Elasticsearch Kibana
linux·elasticsearch·jenkins
Yeh2020587 小时前
servlet简介
servlet
Mapleay7 小时前
git notes
git
zhougl9968 小时前
非root用户,链接ssh,并上传git
运维·git·ssh
遗憾于风中8 小时前
servlet原理
servlet