0

所以我让 git 在我的电脑上运行得很好。我的密码是用 osxkeychain thingy 保存的,一切运行顺利。今天我决定我应该安全并在所有支持它的网站上启用谷歌验证器两步验证。有趣的是 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本身似乎并不知道谷歌身份验证器。从字面上看,我似乎找不到任何关于此的信息。大约一半的页面是关于如何在网站上设置它,另一半是如何分叉实际的谷歌身份验证器源代码。不过,我的关键字可能不够有创意。也可能没有解决方案,但我不得不想知道为什么 github 提供 2-factor auth 呢?有没有人像我一样被困在这里并找到了出路?任何帮助将不胜感激。我只想让 git 像我将两步验证添加到 github 之前那样工作。

在此先感谢,
马克斯

4

1 回答 1

1

所以我让它工作的方式是绕过两步验证使用: https ://help.github.com/articles/providing-your-2fa-security-code#through-the-command-line

感谢服务器故障上的“c4urself”。

于 2014-01-30T04:26:55.203 回答