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

为何Windows端Git仍可密码认证推送,Linux端却失败?

GitHub跨系统认证差异问题解答

核心原因是Windows端的Git悄悄替你做了认证转换,你以为用的是密码登录,实际走的是GitHub支持的个人访问令牌(PAT)认证流程:

  • Windows版Git从新版本(比如你用的2.48.1)开始默认集成了Git Credential Manager(GCM),当你输入账号密码时,GCM会自动识别GitHub的密码认证已失效,后台自动生成或关联PAT完成认证,你全程感知不到这个转换,只觉得输密码就成功了。
  • Ubuntu端的Git(2.43.0)默认没有启用GCM,你直接输入密码的话,GitHub服务器会直接拒绝这种已废弃的认证方式,所以弹出密码认证移除的错误。
  • 你检查的.gitconfig如果只是常规配置,不会涉及凭据管理器的差异,这就是两边行为不同的关键——Windows端有GCM在后台处理认证逻辑,Linux端没有。

你可以验证一下:打开Windows的「凭据管理器」(控制面板→用户账户→凭据管理器→Windows凭据),找到GitHub相关的存储条目,里面保存的应该是PAT,而不是你最初输入的密码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:25:57