# SSH 密钥管理

SSH 密钥管理功能用于统一管理访问 Git 仓库所需的 SSH 密钥,支持将密钥安全存储在数据库中。

# 功能概览

SSH 密钥管理

  • 密钥存储: 安全存储 SSH 私钥
  • 密钥关联: 将密钥关联到特定仓库
  • 密钥测试: 验证密钥是否有效
  • 密钥轮换: 支持密钥更新和替换

# 添加 SSH 密钥

# 操作步骤

  1. 点击左侧导航 "系统设置"
  2. 进入 "SSH 密钥" 标签
  3. 点击 "新增密钥" 按钮
  4. 填写密钥信息
  5. 保存

新增 SSH 密钥

# 配置项说明

字段 说明 示例
名称 密钥别名,便于识别 github-deploy-key
类型 密钥类型 RSA / ED25519
私钥内容 SSH 私钥全文 -----BEGIN RSA PRIVATE KEY-----...
说明 备注信息 用于访问 xxx 仓库

# 生成 SSH 密钥

如果还没有 SSH 密钥,可以在服务器上生成:

# RSA 密钥(兼容性好)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# ED25519 密钥(推荐,更安全)
ssh-keygen -t ed25519 -C "your_email@example.com"
1
2
3
4
5

生成的公钥(.pub 文件)需要添加到 Git 服务(如 GitHub、GitLab)的 Deploy Keys 中。

# 使用 SSH 密钥

# 在仓库配置中选择

  1. 进入 "仓库管理"
  2. 编辑目标仓库
  3. "SSH 密钥" 下拉框中选择已添加的密钥
  4. 保存

# 密钥生效范围

密钥关联到仓库后,系统会在以下操作中自动使用:

  • 克隆仓库
  • 拉取代码
  • 推送代码
  • 同步任务

# 测试 SSH 密钥

添加密钥后,建议进行测试:

  1. 在密钥列表中点击 "测试" 按钮
  2. 输入测试仓库地址
  3. 系统尝试使用该密钥连接

测试成功表示密钥配置正确,可以正常访问仓库。

# 密钥安全

# 安全存储

  • 密钥存储在数据库中,不会明文保存在文件系统
  • 建议对数据库进行加密或访问控制

# 访问控制

  • 只有管理员可以查看和管理密钥
  • 密钥内容在界面中脱敏显示

# 最佳实践

  1. 最小权限原则: 每个密钥只赋予必要的仓库访问权限
  2. 定期轮换: 定期更换 SSH 密钥
  3. 使用 Deploy Key: 使用专用的 Deploy Key 而非个人密钥
  4. 只读密钥: 对于只需拉取的仓库,配置只读 Deploy Key

# 密钥管理

# 查看密钥

密钥列表显示:

  • 密钥名称
  • 密钥类型
  • 关联的仓库数
  • 创建时间

# 编辑密钥

点击 "编辑" 可以修改密钥名称和说明,但不建议修改私钥内容。

# 删除密钥

注意

删除密钥前,请确保没有仓库正在使用该密钥,否则相关操作将失败。

# 常见问题

# 密钥格式错误

确保粘贴的是完整的私钥内容,包括:

  • 开头:-----BEGIN RSA PRIVATE KEY----------BEGIN OPENSSH PRIVATE KEY-----
  • 结尾:-----END RSA PRIVATE KEY----------END OPENSSH PRIVATE KEY-----

# 权限被拒绝

检查:

  1. 公钥是否已添加到 Git 服务
  2. 公钥是否有访问目标仓库的权限
  3. 密钥类型是否正确

# 连接超时

可能是网络问题,检查:

  1. 服务器是否能访问 Git 服务
  2. 防火墙是否允许 SSH 连接(端口 22)

# 下一步