如何在同一台机器上访问公司和个人的 GitHub 仓库

发布: (2025年12月10日 GMT+8 18:06)
3 min read
原文: Dev.to

Source: Dev.to

介绍

管理多个 GitHub 账户——个人和公司——可能会很棘手,尤其是在需要保持仓库分离并避免向错误账户提交时。为每个账户使用不同的 SSH 密钥可以简化工作流并提升安全性。

步骤 1:生成两个 SSH 密钥对

为每个 GitHub 账户创建专用的 RSA 密钥对。

公司账户

ssh-keygen -t rsa -b 4096 -C "your-company-email@example.com" -f ~/.ssh/id_rsa_company
  • -C 为密钥添加注释(通常是你的邮箱),以便识别。
  • -f 指定文件名,防止覆盖默认密钥。

系统会提示你设置密码短语——强烈推荐。

该命令会生成:

  • ~/.ssh/id_rsa_company(私钥)
  • ~/.ssh/id_rsa_company.pub(公钥)

个人账户

ssh-keygen -t rsa -b 4096 -C "your-personal-email@example.com" -f ~/.ssh/id_rsa_personal

这会生成:

  • ~/.ssh/id_rsa_personal(私钥)
  • ~/.ssh/id_rsa_personal.pub(公钥)

步骤 2:配置 SSH 使用正确的密钥

编辑(或创建)~/.ssh/config,为每个账户定义主机别名。

vi ~/.ssh/config

添加以下内容:

# Company GitHub Account
Host github-company
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_company
  IdentitiesOnly yes

# Personal GitHub Account
Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_personal
  IdentitiesOnly yes

保存并关闭文件。如果还有其他账户,可继续添加相应的段落。

步骤 3:将公钥添加到你的 GitHub 账户

公司账户

cat ~/.ssh/id_rsa_company.pub

复制完整输出(以 ssh-rsa 开头、以你的邮箱结尾)。

  1. 前往公司 GitHub 账户的 Settings → SSH and GPG keys
  2. 点击 New SSH key,填写标题,粘贴密钥并保存。

个人账户

cat ~/.ssh/id_rsa_personal.pub

在个人 GitHub 账户中重复相同的步骤添加密钥。

使用正确主机克隆仓库

克隆时,使用在 ~/.ssh/config 中定义的主机别名。

个人仓库

git clone git@github-personal:USERNAME/REPO.git

公司仓库

git clone git@github-company:USERNAME/REPO.git

USERNAME/REPO 替换为相应的仓库路径。

为已有本地仓库设置远程地址

要推送到正确的账户,添加使用对应主机别名的远程地址。

个人远程

git remote add origin git@github-personal:USERNAME/REPO.git

公司远程

git remote add origin git@github-company:USERNAME/REPO.git

此后 git pushgit pull 会自动使用对应的 SSH 密钥。

快速参考

别名~/.ssh/config 中的主机密钥文件
github-personalgithub.com~/.ssh/id_rsa_personal
github-companygithub.com~/.ssh/id_rsa_company

通过以上步骤,你就可以在同一台机器上无缝地使用个人和公司 GitHub 仓库。

Back to Blog

相关文章

阅读更多 »

使用 Git 进行分支开发

封面图片(用于 Branch development with git) https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-up...