已通过GitHub CLI认证,执行gh repo clone仍需输入用户名密码
问题解决:已通过gh认证仍无法克隆仓库
问题根源
你遇到的核心问题是GitHub CLI版本过低(2.4.0是2022年的旧版本),该版本存在Git凭证集成的bug,导致gh auth git-credential不支持"erase"操作,进而触发Git回退到密码认证(而GitHub早已取消密码认证方式)。另外,Git的凭证助手配置可能未正确关联gh的认证信息。
解决方案
1. 升级GitHub CLI到最新版本
旧版本gh存在大量认证相关的已知问题,升级是最直接的解决办法:
- Ubuntu系统可通过官方PPA升级:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 sudo apt-add-repository https://cli.github.com/packages sudo apt update sudo apt install gh - 升级后验证版本:
gh --version,确保为最新稳定版。
2. 重新配置Git凭证助手
升级后,执行以下命令让Git明确使用gh处理GitHub的认证:
gh auth setup-git
这个命令会自动修改全局Git配置,将credential.github.com.helper设置为gh auth git-credential,确保Git能读取gh的认证信息。
3. 重置认证状态(可选,若上述步骤无效)
如果问题仍存在,先登出再重新认证:
# 登出当前认证 gh auth logout # 重新用token登录 gh auth login --with-token < gh-token.txt # 再次配置Git助手 gh auth setup-git
4. 检查Git全局配置(排查冲突)
打开~/.gitconfig文件,检查是否有其他凭证助手配置干扰:
- 确保没有全局的
credential.helper覆盖GitHub的设置,比如如果有[credential] helper = store,可保留,但需添加单独的GitHub配置:[credential "github.com"] helper = gh auth git-credential
完成以上步骤后,再执行gh repo clone mogur/alpha即可正常克隆,不会再要求输入用户名密码。
内容的提问来源于stack exchange,提问作者Mogur
相关产品推荐
相关产品推荐

