温馨提示×

centos jenkins怎么配密钥

小樊
46
2026-10-23 21:00:31
栏目: 智能运维

在 CentOS 上配置 Jenkins 使用密钥,常见场景有几种,下面按最常用的给你讲:


一、Jenkins 连接 Git(SSH 密钥)

1. 在 CentOS 上生成密钥

sudo -u jenkins ssh-keygen -t rsa -b 4096 -C "jenkins@centos"

一路回车,默认生成:

/var/lib/jenkins/.ssh/id_rsa
/var/lib/jenkins/.ssh/id_rsa.pub

2. 把公钥加到 Git 服务器

cat /var/lib/jenkins/.ssh/id_rsa.pub

复制到:

  • GitHub / GitLab → SSH Keys
  • 或 Git 服务器的 authorized_keys

3. Jenkins 中添加私钥

  1. Jenkins → Manage Jenkins
  2. Manage Credentials
  3. 选择 (global) → Add Credentials
  4. 类型:SSH Username with private key
  5. Username:git
  6. Private Key → Enter directly
  7. 粘贴:
cat /var/lib/jenkins/.ssh/id_rsa

4. 测试

在 Job 中:

  • Source Code Management → Git
  • Repository URL:git@github.com:user/repo.git
  • Credentials:刚添加的

二、Jenkins 连接远程服务器(SSH 部署)

方式 1:Publish Over SSH 插件

  1. 安装插件:Publish Over SSH
  2. Jenkins → Configure System
  3. 找到 SSH Servers
    • Hostname:远程服务器 IP
    • Username:root 或部署用户
    • Authentication:
      • 使用 Private Key
  4. 测试连接

三、Jenkins 用 root 密钥(不推荐但常见)

sudo cp ~/.ssh/id_rsa /var/lib/jenkins/.ssh/
sudo chown jenkins:jenkins /var/lib/jenkins/.ssh/id_rsa

⚠️ 安全风险,不建议生产环境


四、常见问题

SSH 第一次连接卡住

sudo -u jenkins ssh git@github.com

输入 yes 接受 host key

权限错误

chmod 600 /var/lib/jenkins/.ssh/id_rsa
chmod 700 /var/lib/jenkins/.ssh

如果你说的是:

  • ✅ Jenkins 登录密钥
  • ✅ Jenkins → K8s
  • ✅ Jenkins → Ansible

告诉我具体场景,我给你精准配置。

0 踩