在一台电脑上生成多个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"部分。

相关推荐
Ares-Wang12 小时前
网络》》防火墙
运维·服务器·网络
朝阳58113 小时前
树莓派 Ubuntu 系统登录问题完整指南:解决 Permission denied (publickey)错误
linux·运维·ubuntu
默|笙13 小时前
【Linux】基础IO(1)文件、fd
linux·运维·服务器
凌波粒13 小时前
Linux高级篇-日志管理/Linux裁剪/内核源码/备份与恢复/可视化管理
linux·运维·服务器
BJ_Bonree13 小时前
数智先锋 | Bonree ONE助力温氏集团构建“零一五十”智能运维体系,夯实智慧养殖数字底座!
运维
m0_7269659813 小时前
【服务器二】下载拓展成功
运维·服务器
可爱又迷人的反派角色“yang”13 小时前
k8s(二)
linux·运维·docker·云原生·容器·kubernetes·云计算
龙亘川13 小时前
智算运维技术全景解析:挑战、架构与落地实践(2025 最新报告解读)
运维·架构·智算
旧日之血_Hayter13 小时前
docker部署项目,/var/lib/docker/overlay2目录满了如何清理?
运维·docker·容器
超级大福宝13 小时前
在 Linux 发行版中安装 Times New Roman 字体
linux·运维·服务器