Published on

GitHub 多账号 SSH 配置方案

Authors
  • avatar
    Name
    Shelton Ma
    Twitter

1. 为两个账号生成不同的 SSH key

# 账号1
ssh-keygen -t ed25519 -C "you@personal.com" -f ~/.ssh/id_ed25519_personal

# 账号2
ssh-keygen -t ed25519 -C "you@work.com" -f ~/.ssh/id_ed25519_work

2. 将公钥分别添加到 GitHub

Settings → SSH and GPG keys

3. 配置 ~/.ssh/config 文件

Host github.com-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_personal
  IdentitiesOnly yes

Host github.com-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_work
  IdentitiesOnly yes

4. 使用对应 Host 名 clone 或设置远程地址

# 原始地址 git@github.com:workUser/work-repo.git
# 替换 git@github.com 为 .ssh/config 下的 Host
git clone git@github.com-work:workUser/work-repo.git
git remote set-url origin git@github.com-work:workUser/work-repo.git