所以我在计算机上运行了git就很好了。我的密码与osxkeychain一起保存,一切运行顺利。今天,我决定应该安全了,并在所有支持它的网站上启用Google Authenticator两步验证。有趣的是github支持它,所以我进行了设置。通过网站界面可以正常工作。我继续分支我正在处理的项目,并做了一些工作,然后尝试将新分支推上去。当我发现身份验证不起作用时,一点也不感到惊讶。让我感到惊讶的是,我似乎根本无法在Google上找到任何解决我的问题的方法。
我最初的错误是这样的:
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完全提供2因子认证?有没有像我一样被困在这里并找到出路的人?任何帮助将大大赞赏。我只是想让git像我在github上添加两步验证之前一样工作。
预先感谢,
马克斯
答:
所以我开始工作的方法是使用以下方法绕过两步身份验证:https :
//help.github.com/articles/providing-your-2fa-security-code#through-the-command-line
感谢在serverfault上使用“ c4urself”。
我会报告这是一个错误,如果客户端不支持此安全功能,该错误不会感到震惊
—
Ramhound 2014年
请将该答案作为正确答案而不是编辑来发表
—
Sathyajith Bhat