在一台电脑上生成多个ssh公钥并添加到不同GitHub账号

在同一台电脑上操作多个 GitHub 账号的仓库

为每个账号生成独立的 SSH 密钥对,然后通过配置来区分使用。

步骤:
  1. 为每个账号生成独立的 SSH 密钥

    复制代码
    ssh-keygen -t ed25519 -C "your-email1@example.com" -f ~/.ssh/id_ed25519_personal
    ssh-keygen -t ed25519 -C "your-email2@example.com" -f ~/.ssh/id_ed25519_work

    (生成不同的文件名,避免覆盖默认的 id_ed25519)

  2. 将每个公钥分别添加到对应的 GitHub 账号

    • 网页登录账号1 → Settings → SSH and GPG keys → New SSH key,粘贴 personal.pub 的内容。
    • 网页登录账号2 → 同上,粘贴 work.pub 的内容。
  3. 配置 ~/.ssh/config 文件(这是关键,能让你用同一个 git@github.com 但自动切换密钥):

    复制代码
    # 默认账号
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_personal
        IdentitiesOnly yes
    
    # 工作账号(用别名区分)
    Host github-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_work
        IdentitiesOnly yes
  4. clone 仓库时

    • 个人账号的仓库:正常 clone
      git clone git@github.com:username1/repo.git
    • 工作账号的仓库:用别名
      git clone git@github-work:username2/repo.git

这样,能在同一台机器上操作不同账号的仓库了

如果只偶尔访问某个仓库,可以用临时命令:

复制代码
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ed25519_work -o IdentitiesOnly=yes" git clone git@github.com:username2/repo.git

更多细节

可以参考 GitHub 官方文档的"Managing multiple accounts"部分。

相关推荐
冬奇Lab16 小时前
一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店
开源·github·资讯
Jahzo18 小时前
openclaw桌面端体验--ClawX
人工智能·github
逛逛GitHub20 小时前
6个粉丝推荐的 GitHub 项目,收藏一波。
github
MaoPou1 天前
Hello Haxe篇
github
蝎子莱莱爱打怪1 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
埃博拉酱1 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
Bigger1 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅2 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒2 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器