目标:在一台 Mac 上同时使用多个 GitHub 账号,并且互不冲突。

整体流程:生成 key → 配置 Host → 验证连接。

1. 为每个账号生成 SSH Key

假设有两个账号:lisizhangsan

ssh-keygen -t rsa -C "lisi@yyy.com"
# 保存为 id_rsa_lisi

ssh-keygen -t rsa -C "zhangsan@xxx.com"
# 保存为 id_rsa_zhangsan

2. 把公钥加到对应 GitHub 账号

在 GitHub 的 SSH Keys 页面添加 ~/.ssh/id_rsa_lisi.pub~/.ssh/id_rsa_zhangsan.pub

3. 配置 ~/.ssh/config

Host lisi
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_lisi

Host zhangsan
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_zhangsan

说明:

  • Usergit 即可,不用用户名。
  • Host 名称是你自定义的“别名”。

4. 更新本机 SSH identities

清理缓存:

ssh-add -D

添加私钥:

ssh-add ~/.ssh/id_rsa_lisi
ssh-add ~/.ssh/id_rsa_zhangsan

查看是否生效:

ssh-add -l

测试连接:

ssh -T git@github.com

5. 使用别名 clone

git clone git@lisi:username/repo.git

git clone git@zhangsan:username/repo.git

如果公司内网有自建 GitHub,按同样方式配置一个新的 Host 即可。