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

Git持续使用旧GitHub凭据,多账号配置失效求助

解决GitHub多账号SSH凭据失效问题

1. 验证SSH密钥与账号的关联有效性

  • 直接测试指定密钥的SSH连接,确认工作密钥是否绑定到正确的GitHub账号:
    ssh -T git@github.com -i ~/.ssh/你的工作密钥文件名
    
    执行后如果返回工作账号的欢迎信息,说明密钥本身没问题;若返回个人账号信息,检查工作密钥是否已添加到工作GitHub账号的SSH设置中。

2. 确保SSH配置文件正确且生效

  • 编辑~/.ssh/config文件,为不同账号配置独立的Host条目,必须添加IdentitiesOnly yes强制使用指定密钥,示例配置:
    Host github-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_personal
        IdentitiesOnly yes
    
    Host github-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_work
        IdentitiesOnly yes
    
  • 保存文件后,测试工作账号的SSH连接:
    ssh -T github-work
    

3. 修正工作仓库的远程URL

  • 检查当前仓库的远程URL是否使用了SSH配置中的Host别名:
    git remote -v
    
  • 如果是默认的git@github.com:xxx/xxx.git或HTTPS地址,修改为对应工作账号的Host别名格式:
    git remote set-url origin github-work:工作账号用户名/工作仓库名.git
    

4. 确认仓库级别的用户信息正确

  • 进入工作仓库目录,检查本地配置的用户信息:
    git config user.name
    git config user.email
    
  • 若不是工作账号信息,重新设置(不要加--global,避免覆盖全局配置):
    git config user.name "工作账号用户名"
    git config user.email "工作账号邮箱"
    

5. 彻底清理Git凭据缓存

  • 检查Git的凭据助手设置:
    git config --global credential.helper
    
  • 若为osxkeychain,清除GitHub相关的HTTPS凭据:
    git credential-osxkeychain erase
    
    执行后依次输入:
    host=github.com
    protocol=https
    
    按回车完成清除。同时在macOS「密钥链访问」中搜索github,删除所有相关条目。

6. 测试推送并排查日志

  • 执行推送测试:
    git push
    
  • 若仍有问题,开启SSH调试日志查看连接细节:
    GIT_SSH_COMMAND="ssh -v" git push
    
    从日志中可以看到Git尝试使用的密钥文件,定位问题根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:15:35