一、进入 SSH 目录(所有操作在这里)
cd ~/.ssh
如果没有目录,先创建:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
二、生成 GitHub 专用 SSH 密钥
ssh-keygen -t ed25519 -C "你的GitHub邮箱" -f id_ed25519_github
三、生成 Gitee 专用 SSH 密钥
ssh-keygen -t ed25519 -C "你的Gitee邮箱" -f id_ed25519_gitee
全程直接回车,不要设置密码!
现在你的 ~/.ssh 里会有 4 个文件:
• id_ed25519_github(GitHub 私钥)
• id_ed25519_github.pub(GitHub 公钥)
• id_ed25519_gitee(Gitee 私钥)
• id_ed25519_gitee.pub(Gitee 公钥)
四、创建 SSH 自动区分配置(最重要)
在 ~/.ssh 里新建文件 config:
nano ~/.ssh/config
粘贴下面内容 直接用:
GitHub
Host github.com
HostName github.com
核心:通过 HTTP 代理转发 SSH 流量(替换 8080 为你的代理端口)
ProxyCommand nc -v -X connect -x proxy.xxx:8080 %h %p
IdentityFile ~/.ssh/id_ed25519_github
User git
Gitee
Host gitee.com
HostName gitee.com
核心:通过 HTTP 代理转发 SSH 流量(替换 8080 为你的代理端口)
ProxyCommand nc -v -X connect -x proxy.xxx:8080 %h %p
IdentityFile ~/.ssh/id_ed25519_gitee
User git
保存退出:
Ctrl+O → 回车 → Ctrl+X
五、把公钥分别粘贴到 GitHub / Gitee
1)复制 GitHub 公钥
cat ~/.ssh/id_ed25519_github.pub
打开 GitHub → Settings → SSH and GPG keys → New SSH key
粘贴进去,保存。
2)复制 Gitee 公钥
cat ~/.ssh/id_ed25519_gitee.pub
打开 Gitee → 设置 → SSH 公钥 → 粘贴保存。
六、测试是否成功(关键)
测试 GitHub
ssh -T git@github.com
出现:
Hi xxx! You've successfully authenticated...
测试 Gitee
ssh -T git@gitee.com
出现:
Hi xxx! You've successfully authenticated...
✅ 两个平台 SSH 同时生效!
七、使用方法(直接正常克隆即可)
GitHub 项目:
git clone git@github.com:用户名/项目.git
Gitee 项目:
git clone git@gitee.com:用户名/项目.git
不用改任何配置,自动识别对应密钥!
八、如果你想给不同仓库设置不同用户名(可选)
全局默认(例如 GitHub)
git config --global user.name "GitHub名字"
git config --global user.email "GitHub邮箱"
进入 Gitee 仓库,单独设置
git config user.name "Gitee名字"
git config user.email "Gitee邮箱"
最终总结(超简单)
1. 生成两个密钥
2. 写一个 config 区分
3. 把公钥贴到两个平台
4. 测试成功 ✅
以后你可以同时 push/pull GitHub 和 Gitee,完全自动切换,不用管密钥!
浙公网安备 33010602011771号