上一篇
如何在Git服务器上正确添加公钥并解决常见问题?
- 行业动态
- 2025-04-18
- 2783
将本地生成的SSH公钥添加到Git服务器可实现免密认证,操作步骤:生成密钥对,复制~/.ssh/id_rsa.pub内容,登录Git平台(如GitHub/GitLab)进入SSH设置页,粘贴公钥保存即可完成身份授权,便于安全执行推送、拉取等Git操作。
生成SSH密钥对
- 打开终端(Windows系统使用Git Bash或PowerShell)
- 输入命令生成密钥:
ssh-keygen -t ed25519 -C "your_email@example.com"
- 若系统不支持Ed25519算法,改用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 若系统不支持Ed25519算法,改用:
- 连续按回车确认默认保存路径(
~/.ssh/id_ed25519
或~/.ssh/id_rsa
) - 设置密钥密码(可选,建议增强安全性)
获取公钥内容
- 显示公钥内容并复制:
cat ~/.ssh/id_ed25519.pub
- 或针对RSA密钥:
cat ~/.ssh/id_rsa.pub ```格式示例:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5… your_email@example.com
- 或针对RSA密钥:
向Git服务器添加公钥
GitHub
- 登录后点击右上角头像 →Settings
- 左侧导航栏选择SSH and GPG keys
- 点击New SSH key
- 输入自定义标题(如”My Work Laptop”),粘贴公钥内容
- 点击Add SSH key完成
GitLab
- 登录后点击右上角头像 →Edit profile
- 左侧导航栏选择SSH Keys
- 将公钥粘贴至Key输入框可选)
- 点击Add key保存
Gitee(码云)
- 登录后点击右上角头像 →设置
- 左侧选择SSH公钥
- 输入公钥内容及标题
- 点击确定提交
自建Git服务器
- 追加到服务器用户目录:
# 以git用户为例 cat id_ed25519.pub >> ~/.ssh/authorized_keys
- 修改权限确保安全:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
验证配置
执行连接测试命令:
ssh -T git@github.com # 替换为对应平台域名
成功提示示例:
Hi username! You've successfully authenticated...
常见问题
权限错误
检查.ssh
目录权限应为700,authorized_keys
文件权限为600连接超时
确认服务器SSH服务运行正常且防火墙开放22端口多密钥管理
创建~/.ssh/config
文件配置多账户:Host github-work HostName github.com User git IdentityFile ~/.ssh/work_key
安全提示
- 私钥(无.pub后缀的文件)等同于密码,严禁分享或上传至公开位置
- 建议定期更换密钥对(建议周期:6-12个月)
引用来源:
- GitHub官方SSH指南
- OpenSSH手册 更新日期:2025年10月*