GitHub 多账号 SSH 配置指南:让个人和工作账号共存

一条电脑采用多个GitHub 或 其他git 仓库账号的方法 记录一下,已经验证过的 公司有一个给力你一个github的账号,然后你还有一个私人的账号 那么如何在一天电脑上可以对两个账号都可以进行推送 拉取的操作呢 一、检查是否配置了全局用户名和邮箱 首先当我们使用git 进行代码版本控制的时候,会先进行用户名和邮箱的配置 git config --global user.name "xxxx" git config --global user.email "xxxxx.@xxx.com" 一般如果我们电脑只配置一个... 阅读详情

​ 在日常开发中,很多人都会遇到这样的问题:一台电脑既有个人 GitHub 账号,又有工作账号,push、pull 时总是账号混乱,或者老是被要求输入密码。
在这里插入图片描述

​ 今天,我分享一个 标准、可靠的 SSH 配置方法,让你在一台电脑上优雅管理多个 GitHub 账号,同时和 Claude Code / MCP 等工具无缝配合。

一、为什么需要多账号 SSH 配置

  1. 防止账号冲突
    如果你直接用 HTTPS 方式或者把多个账号的 key 放在默认位置,Git 会默认选第一把 key,push 时可能会报:

    remote: Invalid username or token. Password authentication is not supported for Git operations.
    fatal: Authentication failed
    
  2. 提高安全性
    每个账号使用独立的 SSH key,更安全,也便于权限管理。

  3. 支持自动化工具
    对接 Claude Code / MCP、CI/CD 等工具时,SSH key 决定了访问权限,多账号管理必须规范。

二、生成第二个 SSH Key并进行配置

2.1 生成新的SSH Key

​ 假设你已有默认账号的 key (id_ed25519),现在为新账号(如 Anne)生成 key:

ssh-keygen -t ed25519 -C "Anne@gmail.com"

注意这里 不要用 ~,ssh-keygen 不会展开。正确写法:

/home/Anne/.ssh/id_ed25519_Anne

​ 完成后会生成:

/home/Anne/.ssh/id_ed25519_Anne
/home/Anne/.ssh/id_ed25519_Anne.pub

​ 复制公钥内容:

cat ~/.ssh/id_ed25519_Anne.pub

2.2 将公钥添加到Github

  1. 登录对应账号:https://github.com/settings/keys

  2. 点击 New SSH key

    在这里插入图片描述

  3. 填写 Title(随意,如 服务器地址等等),粘贴公钥内容

    在这里插入图片描述

  4. 保存

三、配置 SSH 多账号规则

3.1 配置规则

  1. 编辑 ~/.ssh/config:

    nano ~/.ssh/config
    
  2. 写入:

    # 默认账号 WorkAccount
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519
    
    # 新账号 Anne,使用 Host 别名 github-Anne
    Host github-Anne
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519_Anne
    

3.2 说明

配置作用
Host本地别名,访问该 Host 时使用对应 key
HostName真实服务器地址,GitHub 固定 github.com
UserSSH 登录用户,固定 git
IdentityFile使用哪把 key 连接 GitHub

⚠️ HostName 不是邮箱,也不是 username@github.com,只写 github.com。Host 是你给本地 SSH 配置起的别名,可以随意命名,如 github-Anne。

四、测试 SSH 配置

ssh -T git@github.com      # 默认账号
ssh -T git@github-Anne      # 新账号

​ 成功示例:

Hi WorkMan!
Hi Anne!

​ 如果显示成功,说明 SSH key 配置正确。

五、使用 Host 别名解决多账号冲突

5.1 直接clone目标库会报错

​ 很多人直接用:

git clone git@github.com:Anne/TargetHub.git

​ 会报:

ERROR: Repository not found.
fatal: Could not read from remote repository.

​ 原因:

  • SSH 默认用 github.com 对应的默认 key(WorkAccount)
  • GitHub 找不到这个 key 对应的仓库权限

5.2 解决方法

​ 使用你在 ~/.ssh/config 里定义的 Host 别名:

git clone git@github-Anne:Anne/TargetHub.git

​ 这样 SSH 就会自动选择 id_ed25519_Anne,对应账号访问仓库。

六、修改已有仓库 remote

​ 如果仓库已经 clone,但用错了账号,可以修改:

git remote set-url origin git@github-Anne:Anne/TargetHub.git

​ 之后 push / pull 就自动使用对应 key,无需输入用户名密码。

七、日常使用建议

7.1 查看当前仓库使用账号

git remote -v

7.2 新 clone 仓库

  • 个人账号:

    git clone git@github-Anne:Anne/项目名.git
    
  • 默认账号:

    git clone git@github.com:WorkAccount/项目名.git
    

7.3 配置仓库作者信息

git config user.name "Anne"
git config user.email "Anne@gmail.com"

八、总结

​ 通过以上配置,你现在拥有:

  • 多账号共存、互不干扰
  • 自动选择 SSH key,避免密码烦恼

💡 技巧点:Host 是本地别名,HostName 永远 github.com,User 永远 git,IdentityFile 对应 key。
使用别名访问仓库,解决多账号访问冲突。

Git克隆指定SSH密钥:三种方法解决多账号认证冲突 在版本控制与远程协作中,SSH 密钥认证是 Git 克隆私有仓库的基础机制。当本地存在多个密钥时,SSH 默认会按顺序尝试 ssh-agent 与默认文件,容易触发 Permission denied (publickey),也增加认证尝试噪音。通过 IdentityFile、IdentitiesOnly 以及显式指定私钥,可以把认证从“碰运气”变成可控流程:临时任务可用 GIT_SSH_COMMAND,仓库长期使用可配置 core.sshCommand,多平台多账号则可在 ~/.ssh/config 中定 阅读详情

相关推荐

GitHub密码认证失效?三步完成PAT迁移与凭证配置

Git HTTPS 认证是开发者日常协作的基础机制,其核心原理依赖服务端对客户端身份的可信验证。随着安全要求升级,传统账号密码方式因缺乏细粒度权限控制和审计能力,已被主流平台淘汰。GitHub 自2021年起全面停用密码认证,强制转向基于令牌(Token)的现代认证体系,显著提升代码资产防护等级。该机制广泛应用于个人开发、CI/CD流水线、IDE集成及多账号协同等真实工程场景。本文聚焦HTTPS协议下Personal Access Token(PAT)的精准选型、安全注入与跨环境同步,覆盖macOS Key

weixin_30256901的博客 626

如何在同一台电脑上使用SSH管理多个 Git 平台(如 GitHub + Gitee)或多个账号

摘要:在同一台电脑管理多个Git平台账号时,最佳实践是为每个平台生成独立SSH Key并通过SSH Config文件区分。步骤包括:1)生成带后缀的密钥;2)配置SSH Config文件指定各平台密钥;3)添加公钥到对应平台;4)测试连接。现有项目无需修改远程地址,SSH会自动匹配密钥。对于多个同平台账号,可使用Host别名区分。该方案既安全又方便,支持GitHub、Gitee等平台的无缝切换管理。(149字)

j20163402921的博客 483

告别龟速GitHub!用Pycharm+Gitee管理个人项目,保姆级配置流程(含SSH密钥生成避坑)

本文详细介绍了如何利用PyCharm与Gitee搭建高效的代码管理流程,包括SSH密钥生成、Gitee平台配置及PyCharm集成技巧。通过对比国内外代码托管平台的响应速度,突出Gitee在国内开发环境中的优势,并提供从环境准备到团队协作的全套解决方案,帮助开发者提升工作效率。

weixin_38168760的博客 443

github多账号配置

git多账号配置,各自提交互不影响 1、cd ~/.ssh 2、ssh-keygen -t rsa -C "email" 3、ssh-add ~/.ssh/id_rsa_qishuo 4、vi config Host qishuo HostName github.com User git IdentityFile ~/.ssh/id_rsa...

笑看人生的专栏 1052

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 4002

Windows下的Geant4安装教程

本教程将从0开始展示在Windows下如何安装Geant4,包括各种辅助工具(QT、Cmake、Visual Studio)的下载安装,环境变量的配置,以及example的生成等。

weixin_49065278的博客 4106

github支持多个账号

问题描述 当你想在github上使用不同的账号维护项目,又不想不断的做账号切换操作 不然的话会出现下面的错误 remote: Permission to B/Demo.gitdeniedto A. fatal: unable to access 'https://github.com/A/Demo.git/': The requested URL returned error: 403...

骑着蜗牛找马儿 1364

从零到一:手把手教你用HFSS仿真60GHz圆极化磁电偶极子天线(附参数调优心得)

本文详细介绍了在HFSS中设计60GHz圆极化磁电偶极子天线的全流程,包括仿真环境搭建、参数化建模、收敛性优化和性能验证。通过系统化的参数扫描和优化策略,显著提升了天线的轴比带宽和增益性能,为毫米波通信应用提供了高效的天线设计解决方案。

weixin_42614269的博客 311

GitHub多账号管理实战:SSH身份隔离与配置详解

在版本控制与持续交付日益普及的今天,GitHub多账号管理是开发者绕不开的工程实践。工作账号、个人账号与机器人账号共存于一台电脑时,git config中的user.name与user.email决定了提交记录归属,SSH Key认证则决定了远程仓库的访问权限。身份与认证两条主线一旦混淆,就会出现提交人错乱、权限拒绝、密钥冲突等隐蔽问题。深入理解Git三层配置优先级与SSH Host别名机制,能够从底层解决多账号隔离难题。通过按仓库覆盖local配置、为账号分配独立密钥、利用includeIf与instea

weixin_28828243的博客 303

MBD-从一个示例看代码生成过程(rtw文件、TLC语言)

大概介绍了MBD代码生成流程,rtw文件、TLC语言

小胡同学的工程师学习之路 4214

介绍七种常见还危险的病毒(带样本)

简介:能够感染用户计算机bai系统中的.exe、.dll和.html文件,将自身加密以后缀加到目标文件中。样本(源文件):https://wwx.lanzoux.com/iJx4njrpz1c / https://wwx.lanzoui.com/iYRNLwd8ldc。英文名称:Virus.Win32.Viking.A(标准) / Worm.Win32.Fujack.A(标准)英文名称:Net-Worm.Win32.Blaster.A(标准)/ Lovesan.A/ Msblast.A。

2301_78858007的博客 8407

Git SSH 配置全攻略:从安装到多账号共存,避开 Permission denied 的坑

SSH 密钥认证是 Git 远程操作的核心机制,通过公钥私钥配对实现安全身份验证。其原理是私钥本地签名、公钥平台验证,确保通信安全。正确配置 SSH 密钥能提升开发效率,避免频繁输入密码,并支持多账号隔离。常见应用场景包括代码托管平台的身份认证、多环境密钥管理以及 CI/CD 自动化。然而,许多开发者在配置过程中常遇到 Permission denied (publickey) 错误,原因涉及密钥生成、权限设置、agent 加载等多方面。本文系统梳理从 Git 安装、ed25519 密钥生成、平台登记到 c

weixin_34323858的博客 209

【CUDA Runtime】第一个“Hello World“程序

CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一个并行计算平台和编程模型,旨在通过利用 GPU 的强大计算能力来加速计算密集型应用。对于许多开发者而言,开始学习 CUDA 编程的第一步通常是编写一个简单的“Hello World”程序。尽管 CUDA 的实际应用远远超出一个简单的例子,但这个初步的示例能帮助开发者快速入门,理解基本的 CUDA 编程流程。

m0_62599305的博客 1506

基于SSH协议实现多个GitHub账号共存

在使用GitHub的时候,经常会存在同时使用多个账号的需求,本文手把手解决多个GitHub帐号共存的问题。 1. 清除原有的设置(初次使用git请跳过此步骤) 如果之前对git设置过global信息,则需要先清除这些信息,通过如下指令: $ git config --global --unset user.name “username” $ git config --global...

weixin_34248849的博客 133

MuJoCo 入门教程(二)

本章介绍 MuJoCo 的数学和算法基础。对于熟悉广义或关节坐标建模和仿真的读者来说,整体框架是相当标准的。因此,我们将对这些材料进行简要总结。本章的大部分篇幅用于介绍我们如何处理接触和其他约束条件。这种方法是基于我们最近的研究,也是 MuJoCo 所独有的,因此我们花时间对其进行了详细的激励和解释。更多信息可参见下面的论文,尽管本章中的一些技术思想是新的,在其他地方还没有描述过。

机器人控制与仿真应用 3712

innovus:set_clock_latency与insertion_delay

当1ns clock latency设置在capture上,在report_timing报告中体现在other end arrival time以及capture clock path的Arrival Time上。因为-1ns的insertion delay存在,所以skew group报告中显示的Arrival (ns)是减1ns的结果,即1.819-1=0.819 ns。CTS阶段create_ccopt_clock_tree_spec之后,spec中会产生对应的insertion_delay命令。

m0_61544122的博客 1621

GitHub SSH Key 配置从入门到实战:原理、多账号与故障排查

SSH key是开发者连接代码托管平台时的核心身份凭证,本质上是一对公钥与私钥的匹配关系。私钥保存在本地,公钥配置到GitHub等服务端,通过非对称加密完成免密认证。相比HTTPS方式每次推送都要输入口令,SSH key不仅能提升操作效率,也能在弱网环境下保持更稳定的连接。在实际工程中,无论个人电脑管理多个平台账号,还是服务器、CI流水线需要只读拉取代码,都依赖合理的SSH config配置与密钥隔离。即使是常见的Permission denied报错,也往往源于公钥未绑定、私钥路径错误或权限过宽,掌握这些

weixin_28841265的博客 294

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

别再盲目复制粘贴了:彻底搞懂 Git、SSH 与 GitHub CLI 的底层连接奥秘

从一次星期四下午的发布卡顿,看透那些让我们多熬了三个夜的 Git 协议暗坑。

Highlydistingui的博客 364

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Windows下Git多账号SSH配置:GitHub、GitLab、Gitee三平台隔离方案

SSH是远程代码托管最常用的安全认证协议,通过非对称加密实现免密登录和身份校验。对于同时使用GitHub、GitLab、Gitee等平台的开发者,默认的SSH密钥机制会导致多账号密钥冲突与身份混淆。理解SSH config的路由原理,可以为不同平台分配独立密钥对,并通过仓库级Git配置隔离提交者信息。这种多账号隔离方案不仅简化了认证流程,也提升了团队协作与开源贡献的效率,是Windows环境下多平台代码管理的推荐实践。文章围绕SSH免密原理、密钥生成、config配置及常见问题排查展开,帮助读者一次性完成多

weixin_33154775的博客 182

Windows配置Github、Gitee共存的Git环境

在我们的日常开发中,可能要用到多个账号,公司开发gitlab,国外开源github,国内开源gitee。这种多环境的情况下,我们就需要生成和配置多个SSH-Key。

三分恶的博客 2279

Git 账号在一台电脑关联多个版本仓库 | Git 多账号 ssh-key 管理 | Github 和 Gitlab 共同使用...

问题 使用电脑已存在的 ssh-key 直接添加到版本仓库,这是新手配置时候很容易犯的错误。 相关报错:OpenSSL SSL_read: Connection was reset, errno 10054Bug0015 场景 在一台电脑上登录 git,但是要操作多个版本仓库如 GitLab 和 GitHub,但是版本仓库的邮箱可能不一样。 原因/解析 两个版本仓库添加同一个 ssh-key,会...

CodeRain的博客 322

Windows 10 多Git平台SSH密钥管理:1个config文件配置5个平台免密访问

本文详细介绍了在Windows 10系统下如何通过一个`.ssh/config`文件管理多个Git平台的SSH密钥,实现免密访问GitHub、Gitee、GitLab、Gogs等5大平台。文章涵盖密钥生成、权限设置、config文件配置及常见问题解决方案,帮助开发者提升工作效率和安全性。

weixin_29213525的博客 296

Git 配置多个 SSH Key 的方法

在我们的生活和工作中,我们常常会碰到一种情况,那就是一台电脑上需要同时使用多个 Git 账号。 比如,你可能在公司使用 Gitlab 或者 Gitee 来管理项目,而个人项目则通过 Github 进行托管。 更不用说还有云效、Gitee、码云、Coding 等各种不同的代码托管平台。 在这种情况下,你需要为每一个代码托管平台生成一个 SSH Key,并且将对应的公钥复制到相应的地方。

liucong708302的专栏 910

[人工智能-深度学习-75]:环境 - Windows配置Github、Gitee共存的Git环境

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_优快云博客 本文网址: 目录 前言: 前置条件 第1步:清除全局性账号配置 第2步:SSH远程登录服务器配置 2.1 SSH keys的配置 2.2 配置config 2.3 用ssh命令测试 2.4 ssh使用 前言: 在我们的日常开发中,可能要用到多个账号,公司开发gitlab,国外开源github,国内开源gitee。本文就是探讨如何配置同时支持gitlab、github共存的git环境。 在

文火冰糖(王文兵)的博客 1143

告别手动SSH key:GitHub CLI统一认证与PR管理实战

开发者日常使用Git时,身份认证往往是第一道坎。传统方式依赖SSH key,需要手动生成密钥、上传公钥、维护多设备配置,且密钥长期有效、撤销粒度粗,在多账号或多设备场景下容易埋下隐患。OAuth token的出现改变了这一局面:它支持过期机制、按设备独立撤销,权限范围更清晰,配合系统凭据管理器使用,身份安全逻辑更贴近现代应用需求。GitHub CLI(gh)正是这一思路的工程化落地,它将Git认证、仓库操作、Issue跟踪、PR创建与合并等高频工作流收拢为一条命令行链路,避免在浏览器和终端之间频繁切换,也让

weixin_28831461的博客 189

Windows下Git完整配置指南:从安装到SSH密钥多平台管理

版本控制是软件开发的基础设施,Git 作为最流行的分布式版本控制系统,解决了多人协作中的代码同步与历史追溯问题。在 Windows 环境下,正确配置环境变量、换行符策略等底层参数,是发挥 Git 效能的关键,也是跨平台协作避免混乱的前提。SSH 密钥认证相比 HTTPS 具有免密、安全、稳定等优势,理解其公私钥原理并掌握多平台共存配置,能显著提升日常操作效率。从个人项目备份到团队 GitLab 协作,无论是 GitHub、Gitee 还是公司内部平台,一套科学的配置方案都能让开发者少走弯路。本文围绕 Win

weixin_28836507的博客 289
上一篇: 【MCP小白篇】MCP 到底是什么:用大白话讲清楚
下一篇: 【Claude Code理论篇】Hooks :理解事件驱动的自动化钩子
未收敛
博客等级 码龄11年 3310粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未收敛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值