所以我的电脑上的 git 运行得很好。我的密码是用 osxkeychain 保存的,一切都运行顺利。今天我决定为了安全起见,在所有支持 google authenticator 的网站上启用它。有趣的是,github 支持它,所以我设置了它。它通过网站界面运行良好。我继续分支我正在处理的项目并做了一些工作,然后我尝试将新分支推送上去。当我发现我的身份验证不起作用时,我一点也不惊讶。令我惊讶的是,我似乎无法在谷歌上找到任何可以解决我的问题的东西。
我最初的错误是这样的:
git push --set-upstream origin binary-dev
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/***/***.git/'
然后我清除了旧密码以获取交互式提示:
git credential-osxkeychain erase
host=github.com
protocol=https
这样做确实可以摆脱我的旧设置,但现在我得到:
git push --set-upstream origin binary-dev
Username for 'https://github.com': ***
Password for 'https://***@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/***/***.git/'
所以 git 本身似乎不知道 google 身份验证器。我似乎真的找不到任何相关信息。大约一半的页面是关于如何在网站上设置它,另一半是关于如何分叉实际的 google 身份验证器源代码。不过,我的关键词可能不够有创意。也可能没有解决方案,但我不得不怀疑为什么 github 会提供双因素身份验证?有没有人像我一样被困在这里并找到了出路?任何帮助都欢迎大大非常感谢。我只希望 git 能够像在为 github 添加两步验证之前一样工作。
提前致谢,
Max
答案1
您必须提供个人访问令牌要继续使用https
,另请参阅:
https://help.github.com/articles/providing-your-2fa-security-code#through-the-command-line