我最近开始在GitHub上使用双因素身份验证,而我现在无法以通常的方式在私有存储库上使用git over https:
peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/[...]/MyPrivateRepo/'
如果我禁用双因素身份验证,我可以像以前一样使用它:
peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com':
remote: Counting objects: 147, done.
remote: Total 147 (delta 0), reused 0 (delta 0), pack-reused 147
Receiving objects: 100% (147/147), 22.70 KiB | 0 bytes/s, done.
Resolving deltas: 100% (87/87), done.
Checking connectivity... done.
我知道我可以使用SSH并且一切正常,但是有一种方法可以保持双因素身份验证,同时仍然能够通过HTTPS使用GitHub,例如通过我的请求发送身份验证令牌吗?
答案 0 :(得分:84)
了解如何解决此问题:
https://github.com/blog/1614-two-factor-authentication#how-does-it-work-for-command-line-git
它如何用于命令行Git?
如果您使用SSH进行Git身份验证,请轻松休息:您无需执行任何操作。如果您使用的是HTTPS Git,请输入个人访问令牌,而不是输入密码。这些可以通过转到personal access tokens page来创建。
答案 1 :(得分:12)
按照@Nitsew's的答案,创建您的personal access token,并使用令牌作为用户名,并输入空白密码。
稍后,您将不需要任何凭据即可访问所有私人存储库。
答案 2 :(得分:5)
对于每个苦苦挣扎的人,对我有用的是创建个人访问令牌,然后将其用作用户名和密码(在打开的提示中)。
答案 3 :(得分:1)
通常会想到,经过几次密码尝试并且可能会重置密码之后,您已经设置了双重身份验证。那么,我们如何使用两因素身份验证来git clone一个私有存储库?使用访问令牌很简单。
如何使用访问令牌对Git进行身份验证
哇,行得通!
答案 4 :(得分:0)
如果您的仓库启用了2FA。强烈建议使用github.com提供的应用 这是链接:https://desktop.github.com/
下载并安装后。按照提示,应用程序将要求您提供一次登录密码。填写一次密码后,您现在就可以看到您的存储库/项目。
答案 5 :(得分:0)
第一:获取个人访问令牌。 https://github.com/settings/tokens
第二:放置帐户和令牌。示例在这里:
$ git push
Username for 'https://github.com': # Put your GitHub account name
Password for 'https://{USERNAME}@github.com': # Put your Personal access token
有关如何创建个人访问令牌的链接:https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line