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

相关推荐
Brilliantwxx12 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地12 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
技术达芬奇12 小时前
git bundle介绍
github
暖心hebbie设计学习13 小时前
GitHub 热榜拆解(10.28)|5 个 AI 工具:从设计到写代码,附 issue 区坑点
人工智能·github
csdn_aspnet13 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong13 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
逛逛GitHub13 小时前
看这 11 个案例,AI 做游戏真的越来越顶了。
github
前端小万13 小时前
想做个人副业别乱买服务器!我的 5 个月真实开销分享
前端·后端·github
乌恩大侠15 小时前
Supermicro 发布六款 NVIDIA ARC 服务器:从 1U 边缘基站到 4U 八卡 AI-RAN 平台,全面对比
运维·服务器·人工智能
Java陈序员15 小时前
用 AI 开发了一个 Github 图片预览浏览器插件!
chrome·edge·github·浏览器插件