🌟 前置准备:Git基础配置
1. 安装与验证Git
- 访问 Git官网 下载对应版本
- 验证安装成功:
git --version # 输出示例:git version 2.37.0
2. 全局用户信息配置
⚠️ 注意:此配置影响所有仓库提交记录,建议与代码平台账号一致
git config --global user.name "Your_Name" # 例如:git config --global user.name "Ava"
git config --global user.email "your_email@email.com" # 如公司邮箱或平台注册邮箱
# 查看配置是否生效:
git config --list # 检查user.name和user.email是否正确
🔑 生成多平台SSH密钥(ED25519算法)
为什么选择ED25519?
- 🛡️ 安全性更高:抗量子计算攻击,密钥长度更短(256位 vs RSA 2048位)
- 🚀 性能更优:签名速度比RSA快,适合高频次操作
操作步骤:
-
创建.ssh目录
mkdir -p ~/.ssh # -p参数确保目录不存在时自动创建 chmod 700 ~/.ssh # 设置权限仅当前用户可访问 -
生成密钥对
# GitHub专用密钥 ssh-keygen -t ed25519 -C "github@example.com" -f "github_id_ed25519" # Gitee专用密钥 ssh-keygen -t ed25519 -C "gitee@example.com" -f "gitee_id_ed25519" # GitLab专用密钥(示例为自定义端口场景) ssh-keygen -t ed25519 -C "gitlab@example.com" -f "gitlab_example_id_ed25519"- 📍 参数解析:
-t:指定密钥类型(ed25519)-C:注释信息,一般用邮箱标识用途-f:密钥文件名(默认生成到当前目录,建议移动到~/.ssh/)
- 📍 参数解析:
🖥️ 配置SSH公钥到代码平台
操作流程(以GitHub为例):
-
复制公钥内容
cat ~/.ssh/github_id_ed25519.pub # 输出以ssh-ed25519开头的内容 -
平台配置路径:
- GitHub: Settings → SSH and GPG keys → New SSH key
- Gitee: 设置 → SSH公钥
- GitLab: 用户设置 → SSH Keys
⚠️ 关键提示:
- 每个平台只需添加对应
.pub公钥文件 - 私钥(无.pub后缀)绝对不可泄露!
⚙️ SSH多平台冲突终结者:config文件配置
文件路径:~/.ssh/config
touch ~/.ssh/config # 创建文件(如不存在)
chmod 600 ~/.ssh/config # 权限必须为600
配置模板详解:
# GitHub配置(标准域名)
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_id_ed25519 # 指定私钥路径
PreferredAuthentications publickey
# Gitee配置
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/gitee_id_ed25519
# GitLab自定义场景(含端口)
Host gitlab.example.com # 自定义别名(推荐与HostName一致)
HostName 192.168.1.100 # 实际服务器IP
Port 32222 # 非默认端口时必须指定
IdentityFile ~/.ssh/gitlab_example_id_ed25519
📍 参数解析:
Host:连接时使用的别名(如git@gitlab.example.com)HostName:真实服务器地址Port:非22端口时必须指定IdentityFile:必须指向私钥文件
🧪 连接测试与问题排查
测试命令:
ssh -T git@github.com # GitHub
ssh -T git@gitee.com # Gitee
ssh -T git@gitlab.example.com -p 32222 # 带端口的GitLab
✅ 成功响应示例:
Hi Ava! You've successfully authenticated, but GitHub does not provide shell access.
🔧 常见问题排查:
- 权限错误:
chmod 600 ~/.ssh/* # 所有密钥文件权限应为600 - Host配置不匹配:检查
git remote -v地址是否为git@Host别名 - 端口未开放:使用
telnet 服务器IP 端口测试连通性
📚 最佳实践与扩展技巧
- 🔄 密钥定期轮换:建议每6个月更新一次密钥
- 🔐 私钥加密保护:生成密钥时可添加
-P "你的密码"参数 - 🧰 使用ssh-agent管理密钥:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/github_id_ed25519 # 添加密钥到代理
🎉 现在,你可以无缝切换GitHub/Gitee/GitLab,享受安全高效的开发体验! 如有疑问,欢迎在评论区交流讨论 💬







