当前位置:首页>行业动态> 正文

如何在Git服务器上正确添加公钥并解决常见问题?

将本地生成的SSH公钥添加到Git服务器可实现免密认证,操作步骤:生成密钥对,复制~/.ssh/id_rsa.pub内容,登录Git平台(如GitHub/GitLab)进入SSH设置页,粘贴公钥保存即可完成身份授权,便于安全执行推送、拉取等Git操作。

生成SSH密钥对

  1. 打开终端(Windows系统使用Git Bash或PowerShell)
  2. 输入命令生成密钥:
    ssh-keygen -t ed25519 -C "your_email@example.com"
    • 若系统不支持Ed25519算法,改用:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. 连续按回车确认默认保存路径(~/.ssh/id_ed25519~/.ssh/id_rsa
  4. 设置密钥密码(可选,建议增强安全性)

获取公钥内容

  1. 显示公钥内容并复制:
    cat ~/.ssh/id_ed25519.pub
    • 或针对RSA密钥:
      cat ~/.ssh/id_rsa.pub
      ```格式示例:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5… your_email@example.com


向Git服务器添加公钥

GitHub

  1. 登录后点击右上角头像 →Settings
  2. 左侧导航栏选择SSH and GPG keys
  3. 点击New SSH key
  4. 输入自定义标题(如”My Work Laptop”),粘贴公钥内容
  5. 点击Add SSH key完成

GitLab

  1. 登录后点击右上角头像 →Edit profile
  2. 左侧导航栏选择SSH Keys
  3. 将公钥粘贴至Key输入框可选)
  4. 点击Add key保存

Gitee(码云)

  1. 登录后点击右上角头像 →设置
  2. 左侧选择SSH公钥
  3. 输入公钥内容及标题
  4. 点击确定提交

自建Git服务器

  1. 追加到服务器用户目录:
    # 以git用户为例
    cat id_ed25519.pub >> ~/.ssh/authorized_keys
  2. 修改权限确保安全:
    chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

验证配置

执行连接测试命令:

ssh -T git@github.com  # 替换为对应平台域名

成功提示示例:

如何在Git服务器上正确添加公钥并解决常见问题?  第1张

Hi username! You've successfully authenticated...

常见问题

  1. 权限错误
    检查.ssh目录权限应为700,authorized_keys文件权限为600

  2. 连接超时
    确认服务器SSH服务运行正常且防火墙开放22端口

  3. 多密钥管理
    创建~/.ssh/config文件配置多账户:

    Host github-work
      HostName github.com
      User git
      IdentityFile ~/.ssh/work_key

安全提示

  • 私钥(无.pub后缀的文件)等同于密码,严禁分享或上传至公开位置
  • 建议定期更换密钥对(建议周期:6-12个月)

引用来源:

  • GitHub官方SSH指南
  • OpenSSH手册 更新日期:2025年10月*