You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VScode中切换两个Git账号 解决GitHub克隆权限报错

解决步骤

1. 验证当前终端SSH连通性

首先在VSCode打开的CMD终端内执行命令:
ssh -T git@github.com
如果同样返回publickey权限报错,说明CMD终端环境没有识别到你绑定GitHub账号的SSH私钥,这是问题核心:Git Bash默认会自动加载.ssh目录下的密钥/你已在Git Bash配置了ssh-agent自启,而CMD终端默认没有相关自动加载逻辑。

2. 核对全局SSH配置

打开用户目录下的.ssh文件夹(路径一般为C:\Users\你的系统用户名\.ssh),确认存在config文件,且内容包含如下规则(替换为你自己的实际参数):

# 公司Git配置
Host 公司Git服务域名(例:git.xxx.com)
  HostName 公司Git服务域名
  User git
  IdentityFile ~/.ssh/公司账号对应的私钥文件名(例:id_rsa_company)

# 个人GitHub配置
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/GitHub账号对应的私钥文件名(例:id_rsa_github)

确保IdentityFile对应的私钥文件真实存在,路径没有使用仅Git Bash可识别的特殊别名。

3. 手动加载SSH私钥

在VSCode的CMD终端内依次执行命令:

  1. 启动ssh-agent服务:start-ssh-agent
  2. 加载你的GitHub私钥:ssh-add ~/.ssh/你的GitHub私钥文件名
    加载完成后重新执行ssh -T git@github.com,如果返回Hi 你的GitHub用户名! You've successfully authenticated说明连通正常,此时再执行git clone即可正常操作。

4. 配置CMD自启加载私钥(可选)

如果不想每次打开终端都手动加载私钥,可以配置CMD自动运行规则:

  • 按下Win+R输入regedit打开注册表,定位到路径:HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  • 新建字符串值,名称设为AutoRun,值设为if not defined SSH_AGENT_PID (start-ssh-agent > nul & ssh-add ~/.ssh/你的GitHub私钥文件名 > nul)
    配置完成后所有新打开的CMD终端都会自动启动ssh-agent并加载对应私钥。

5. 核对Git账号配置

如果连通性正常还是报错,在VSCode终端执行git config --list --show-origin检查账号配置:
如果全局git配置默认是公司账号,可以在克隆后的GitHub仓库目录单独执行命令配置个人账号:
git config user.name "你的GitHub用户名"
git config user.email "你的GitHub绑定邮箱"

注意:Git Bash和CMD是相互独立的终端环境,配置不互通,所有验证操作都需要在VSCode调用的CMD终端内执行才有效。

内容的提问来源于stack exchange,提问作者Zeitlin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:09:00