news 2026/4/16 21:47:58

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在一台电脑上生成多个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”部分。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:56:40

《Effective C++》电子书免费分享

Effective C 中文版第三版 高清PDF资料免费分享,只可用于学习使用链接:https://pan.baidu.com/s/1ZbIFI6kAhqnnOHVit7BNdQ?pwdN858觉得有用可以点个赞哦

作者头像 李华
网站建设 2026/4/16 15:04:23

Asio应用(高级):构建高性能、安全、跨平台的网络系统

从异步模型到高级应用,这一步跨越的不只是技术栈的扩展,更是从“能用”到“卓越”的工程思维转变。本文将带你深入Asio的高级应用领域,掌握构建企业级网络系统的核心技能。 1. 复杂协议实现:超越TCP/UDP HTTP服务器实现&#xff1…

作者头像 李华
网站建设 2026/4/15 16:18:56

苹果叶片病害检测与分类:Yolo11-C3k2-iRMB-Cascaded模型创新应用详解

本数据集名为"apple diseases detection - v3 apppppppppl",是一个专门用于苹果叶片病害检测的计算机视觉数据集,采用YOLOv8格式标注。该数据集由qunshankj平台用户提供,采用MIT许可证授权,于2023年9月2日导出。数据集共…

作者头像 李华
网站建设 2026/4/15 23:54:33

实习面试题-ZooKeeper 原理面试题

1.ZooKeeper 使用推送模式还是拉取模式来通知客户端? 回答重点 ZooKeeper 使用的是推送模式(push model)来通知客户端。 扩展知识 1)什么是推送模式和拉取模式? 推送模式(Push Model)意味着服务器主动将数据或变更推送给客户端;而拉取模式(Pull Model)则是客户端…

作者头像 李华
网站建设 2026/4/16 15:04:20

实习面试题-Kotlin 面试题

1.Kotlin 有哪些特点?它和 Java 有什么区别? 回答重点 Kotlin 是 JetBrains 公司在 2011 年推出的现代编程语言,2017 年被 Google 宣布为 Android 开发的官方首选语言。它最大的特点就是简洁、安全、实用,被称为"更好的 Java"。 Kotlin 的核心特点可以总结为几…

作者头像 李华
网站建设 2026/4/16 15:03:28

JSP中如何集成SM4加密实现大文件上传存储安全?

大文件传输系统解决方案 项目背景与需求分析 作为北京某软件公司项目负责人,我们面临一个关键的大文件传输功能需求。经过深入分析,现有需求可归纳为以下几个核心要点: 大文件传输能力:需支持50G以上文件传输,包含文…

作者头像 李华