讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode快速管理并切换多个Git账户的密钥

落萱同学_9394

落萱同学_9394

发布时间:2026-08-20 10:22:22

|

258人浏览过

|

来源于php中文网

原创

VSCode中git push失败但本地commit正常,大概率是SSH密钥未正确配对;需检查remote URL协议类型、~/.ssh/config中Host别名与IdentityFile绝对路径是否匹配,并确保ssh-agent已加载对应私钥。

vscode快速管理并切换多个git账户的密钥

VSCode里git push失败但本地commit正常,大概率是SSH密钥没配对

常见现象:你在 VSCode 里 commit 成功,但点击 Push 按钮时弹出 Permission denied (publickey) 或直接卡住;终端里执行 git push 同样报错。这不是 VSCode 的问题,而是 Git 正在用默认密钥(比如 ~/.ssh/id_rsa)去连远程主机,而该密钥没被 GitHub/GitLab/Gitee 添加为授权公钥。

  • 先确认当前仓库用的是 SSH 还是 HTTPS 协议:git remote get-url origin —— 如果返回 git@github.com:xxx/yyy.git 就是 SSH;如果是 https://... 则走 HTTPS 认证,和 SSH 密钥无关
  • SSH 协议下,Git 不读 user.name 和 user.email 来决定用哪把密钥,它只看远程 URL 里的 Host 部分,再查 ~/.ssh/config 中对应 Host 的 IdentityFile
  • 别指望 VSCode 自动帮你选密钥——它只是调用系统 git 命令,密钥选择完全由 OpenSSH 决定

~/.ssh/config 必须按 Host 名匹配,不是按域名硬写

很多人把 Host github.com 直接写死,结果多个账号全撞一起。正确做法是给每个账号起一个唯一 Host 别名,比如 github-work、gitlab-personal,然后在克隆或配置 remote 时显式使用它。

  • 编辑 ~/.ssh/config(Windows 是 %USERPROFILE%\.ssh\config),确保格式严格:每段 Host 开头,缩进必须用空格(不能用 Tab),IdentityFile 路径要绝对且可读
  • 示例:
Host github-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_work

Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_personal
  • 克隆时必须用这个别名:git clone git@github-work:org/repo.git,而不是 git@github.com:org/repo.git
  • 已有仓库想换账号?改 remote URL:git remote set-url origin git@github-personal:username/repo.git

VSCode 里改 remote URL 后,还要单独设 user.email 和 user.name

SSH 密钥管认证,但提交记录里的作者信息由 Git 的 user.name 和 user.email 决定。VSCode 不会自动根据 remote URL 切换它们——你得手动配,否则所有提交都显示同一个邮箱。

digital-solution-designer
digital-solution-designer

系统化设计数字化解决方案,涵盖方案类型识别、政策背景分析、需求分析、建设思路设计、架构设计(业务、功能、数据、技术四维度)、技术选型、具体建设内容、实施规划、风险评估和投资估算的全流程能力。适用于规划类、申报类、可研类、投标类和工作汇报类等多种方案产出场景,覆盖政府数字化转型和企业数字化转型两大核心领域。

下载
  • 进项目根目录终端(VSCode 里 Ctrl+`),运行:git config user.name "Your Work Name" 和 git config user.email "work@company.com"
  • 不要加 --global!否则又全局污染了。只对当前 repo 生效才安全
  • 验证是否生效:git config user.email —— 应该输出你刚设的邮箱,不是全局值
  • 如果项目已存在,旧提交的 author 信息不会变;新 commit 才会用新配置

Windows 上 ssh-agent 不自动加载私钥,得手动 add

Linux/macOS 通常开机就启 ssh-agent 并 load key,Windows(尤其 Git Bash + VSCode 组合)经常漏这步,导致 git push 仍提示权限拒绝,哪怕 ~/.ssh/config 完全正确。

  • 打开 VSCode 集成终端,先启动 agent:eval $(ssh-agent -s)
  • 再加载私钥:ssh-add ~/.ssh/id_ed25519_work
  • 检查是否成功:ssh-add -l 应该列出你刚 add 的密钥指纹
  • 每次新开终端都要重复?可以写个脚本或设终端启动命令,但更稳妥的是:用 Windows 自带的 OpenSSH Agent 服务(设置 → 服务 → OpenSSH Authentication Agent → 设为自动启动),然后在 ~/.ssh/config 加一行 ForwardAgent yes

最常被忽略的其实是 ssh-add 这一步——配完 config 以为万事大吉,结果 agent 根本没拿到私钥,VSCode 里的 Push 按钮永远在转圈。

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

6839

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1920

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

1154

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

4437

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

4281

2024.04.09

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1475

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3172

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2069

2024.03.14

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn