将本地仓库推送到具有双因素身份验证的 GitHub 仓库

将本地仓库推送到具有双因素身份验证的 GitHub 仓库

我正在尝试使用命令行将本地存储库中的代码(在安装并登录了 GitHub 应用程序的 OS X 10.8.5 系统上)推送到我在 GitHub 网站上创建的存储库。奇怪的是,当我尝试时git push -u origin master,我使用我的(正确的)GitHub 凭据登录,然后得到fatal: Authentication failed

我确实使用了双因素身份验证,但我已经通过 GitHub 应用程序对存在此问题的机器进行了身份验证。我还获得了此操作的适当 SSH 密钥。

此问题的原因是什么?如何解决?

答案1

双因素身份验证通常不适用于每台机器 - 它适用于每台客户端。当您使用 Web 浏览器登录 GitHub 时,Web 浏览器会记住包含身份验证信息和 2FA 状态的 cookie。git对此一无所知。

要通过 HTTP(S) 进行推送,您需要在GitHub 的应用程序设置页面(使用“创建新令牌”按钮)。请注意git如果您不想每次都重新输入/粘贴密码,可以记住“密码”。

相关内容