GitHub PAT嵌入仓库URL可正常访问 交互输入时认证失败怎么办
关于/etc/shadow条目疑问的澄清
/etc/shadow中的
gitlog、gitdaemon是Linux系统预置的Git服务关联用户,和个人用户的GitHub PAT验证逻辑完全无关,不会导致你遇到的认证失败问题,无需修改该文件内容。
你遇到的交互输入PAT认证失败的核心原因是未配置Git凭证助手,以及可能存在交互输入操作误区,按以下步骤排查解决即可:
步骤1:排查交互输入错误
- 弹出用户名输入提示时,必须输入GitHub平台的注册用户名,不要输入你Ubuntu本地系统的用户名
- 弹出密码输入提示时,直接粘贴完整PAT即可,Linux终端输入密码时不会显示输入进度属于正常现象,粘贴完成后直接回车,不要额外输入空格、换行符
步骤2:配置Git凭证助手(解决交互认证异常+避免重复输入)
你执行git config credential.helper无返回,说明当前没有配置任何凭证存储工具,按以下操作配置:
- 先安装依赖包:
sudo apt update && sudo apt install git libsecret-1-0 libsecret-1-dev -y
- 编译并配置加密的libsecret凭证助手:
sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
如果不需要加密存储,也可以用临时明文存储方案,直接执行以下命令即可:
git config --global credential.helper store
步骤3:(可选)直接绑定PAT到仓库远程地址
如果不想配置凭证助手,也可以直接把PAT写入仓库的远程地址,后续无需再输入认证信息:
进入本地仓库目录后执行:
git remote set-url origin https://<GitHub用户名>:<PAT>@github.com/<GitHub用户名>/<仓库名>.git
注意:该方案会将PAT明文存储在仓库目录的
.git/config文件中,仅建议个人私有设备使用。
验证效果
完成配置后执行git pull或者git push等命令测试,不会再弹出认证提示,也不会返回密码认证已停用的报错。
内容的提问来源于stack exchange,提问作者Codemover
相关产品推荐
相关产品推荐

