
【git管理】
-
生成第一个密钥(工作账号)
ssh-keygen -t rsa -C "work_mail@163.com" -f ~/.ssh/id_rsa_gitee_melt
-
生成第二个密钥(个人账号)
ssh-keygen -t rsa -C "personal_mail@163.com" -f ~/.ssh/id_rsa_gitee_mail
现在需要同时在两台 Windows 系统电脑,两台 Mac mini 电脑上使用,需要生成的公钥秘钥对,可以在多台电脑上,同时使用两个 gitee 账号,这样可以做到吗?
当然可以在多台电脑上同时使用两个gitee账号!不能直接复制私钥到多台电脑使用 ,这样做存在严重的安全风险。正确的做法是在每台电脑上单独生成 SSH 密钥对 ,然后将每台电脑的公钥分别添加到对应的 Gitee 账号中。
❌ 为什么不能复制私钥?
- 私钥是身份凭证,复制私钥 = 让多台设备共享同一身份
- 安全风险:一台电脑丢失/被入侵,所有设备的身份都暴露
- 管理混乱:无法追踪是哪台设备在进行 Git 操作
✅ 正确做法:每台电脑独立生成密钥
第一步:在每台电脑上生成独立的 SSH 密钥对
在电脑A(Windows):
bash
# 生成工作账号密钥
ssh-keygen -t rsa -C "work_mail@163.com" -f ~/.ssh/id_rsa_gitee_work_pc1
# 生成个人账号密钥
ssh-keygen -t rsa -C "personal_mail@163.com" -f ~/.ssh/id_rsa_gitee_personal_pc1
在电脑B(Windows):
bash
# 生成工作账号密钥(与电脑A不同,避免冲突)
ssh-keygen -t rsa -C "work_mail@163.com" -f ~/.ssh/id_rsa_gitee_work_pc2
# 生成个人账号密钥(与电脑A不同)
ssh-keygen -t rsa -C "personal_mail@163.com" -f ~/.ssh/id_rsa_gitee_personal_pc2
💡 建议 :在密钥文件名中加入电脑标识(如
_pc1,_pc2),便于区分
在电脑C(Mac mini):
bash
ssh-keygen -t rsa -C "work_mail@163.com" -f ~/.ssh/id_rsa_gitee_work_mac1
ssh-keygen -t rsa -C "personal_mail@163.com" -f ~/.ssh/id_rsa_gitee_personal_mac1
在电脑D(Mac mini):
bash
ssh-keygen -t rsa -C "work_mail@163.com" -f ~/.ssh/id_rsa_gitee_work_mac2
ssh-keygen -t rsa -C "personal_mail@163.com" -f ~/.ssh/id_rsa_gitee_personal_mac2
第二步:为每台电脑配置独立的 SSH Host 别名
编辑每台电脑的 ~/.ssh/config 文件:
电脑A(Windows)的 ~/.ssh/config:
ssh-config
# 工作账号 - 电脑A
Host gitee-work-pc1
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_work
PreferredAuthentications publickey
# 个人账号 - 电脑A
Host gitee-personal-pc1
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_personal
PreferredAuthentications publickey
电脑B(Windows)的 ~/.ssh/config:
ssh-config
# 工作账号 - 电脑B
Host gitee-work-pc2
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_work_pc2
PreferredAuthentications publickey
# 个人账号 - 电脑B
Host gitee-personal-pc2
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_personal_pc2
PreferredAuthentications publickey
电脑C(Mac mini)的 ~/.ssh/config:
ssh-config
# 工作账号 - Mac1
Host gitee-work-mac1
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_work_mac1
PreferredAuthentications publickey
# 个人账号 - Mac1
Host gitee-personal-mac1
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_personal_mac1
PreferredAuthentications publickey
电脑D(Mac mini)的 ~/.ssh/config:
ssh-config
# 工作账号 - Mac2
Host gitee-work-mac2
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_work_mac2
PreferredAuthentications publickey
# 个人账号 - Mac2
Host gitee-personal-mac2
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_personal_mac2
PreferredAuthentications publickey
第三步:将每台电脑的公钥添加到对应的 Gitee 账号
每台电脑都需要执行:
bash
# 查看公钥内容
cat ~/.ssh/id_rsa_gitee_work_pc1.pub # 电脑A工作账号
cat ~/.ssh/id_rsa_gitee_personal_pc1.pub # 电脑A个人账号
cat ~/.ssh/id_rsa_gitee_work_pc2.pub # 电脑B工作账号
cat ~/.ssh/id_rsa_gitee_personal_pc2.pub # 电脑B个人账号
# ... 其他电脑的公钥
登录 Gitee 添加公钥:
-
Gitee 工作账号(work_mail@163.com):
- 设置 → SSH 公钥 → 添加
- 分别添加:
电脑A工作公钥电脑B工作公钥电脑C工作公钥电脑D工作公钥
-
Gitee 个人账号(personal_mail@163.com):
- 设置 → SSH 公钥 → 添加
- 分别添加:
电脑A个人公钥电脑B个人公钥电脑C个人公钥电脑D个人公钥
第四步:在不同项目中使用对应 Host 别名
克隆工作项目(在任意电脑):
bash
git clone git@gitee-work-pc1:gitee-work/your-project.git # 电脑A
git clone git@gitee-work-pc2:gitee-work/your-project.git # 电脑B
git clone git@gitee-work-mac1:gitee-work/your-project.git # 电脑C
git clone git@gitee-work-mac2:gitee-work/your-project.git # 电脑D
克隆个人项目(在任意电脑):
bash
git clone git@gitee-personal-pc1:gitee-personal/your-project.git # 电脑A
git clone git@gitee-personal-pc2:gitee-personal/your-project.git # 电脑B
git clone git@gitee-personal-mac1:gitee-personal/your-project.git # 电脑C
git clone git@gitee-personal-mac2:gitee-personal/your-project.git # 电脑D
🔄 更简洁的方案(推荐):使用密钥名称区分
如果你觉得 Host 别名太复杂,也可以统一使用相同的 Host 别名 ,但通过不同的密钥文件名来区分:
每台电脑的 ~/.ssh/config:
ssh-config
# 工作账号
Host gitee-work
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_work_pc1 # 电脑A用这个
# IdentityFile ~/.ssh/id_rsa_gitee_work_pc2 # 电脑B用这个(注释掉其他)
PreferredAuthentications publickey
# 个人账号
Host gitee-personal
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee_personal_pc1 # 电脑A用这个
# IdentityFile ~/.ssh/id_rsa_gitee_personal_pc2 # 电脑B用这个(注释掉其他)
PreferredAuthentications publickey
❌ 缺点 :需要在每台电脑上修改
config文件中的IdentityFile指向
✅ 最佳实践建议
| 操作 | 说明 |
|---|---|
| 每台电脑独立生成密钥 | 安全 + 便于管理 |
| 公钥添加到对应 Gitee 账号 | 确保身份验证 |
| 使用不同 Host 别名 | 避免混淆,推荐 |
| 项目级配置 Git 用户信息 | git config user.name/email |
🛠️ 验证设置是否成功
在每台电脑上:
bash
# 测试 SSH 连接
ssh -T git@gitee-work-pc1 # 应显示工作账号信息
ssh -T git@gitee-personal-pc1 # 应显示个人账号信息
# 在项目中验证提交信息
git config user.email # 确认是对应账号的邮箱
通过这种方式,你可以在4台电脑上安全地使用2个 Gitee 账号,每台电脑的身份独立,且能根据项目自动切换账号!
结合这篇文章进行设置:
https://blog.csdn.net/melt_1026/article/details/154390347?spm=1001.2014.3001.5501