推送到GitHub时2FA会出现问题

H. *_*lyn 16 git github git-push two-factor-authentication

我在我的Raspberry Pi上的GitHub上克隆了一个项目,创建了一个新的分支并将所有内容都推送到了存储库.为此我需要下一个命令:

git clone https://www.github.com/heinpauwelyn/my_repo
git checkout -b raspberry
git push origin raspberry
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我无法将分支机构推向GitHub.com.我需要输入我的用户名和密码,但我不能使用2FA.这是Git或GitHub中的错误,是否有办法获取身份验证密钥并输入?

我不会在GitHub上启用2FA.

ped*_*o91 18

使用2FA时,您必须创建一个个人访问令牌,以便在使用HTTPS URL在命令行上对GitHub进行身份验证时使用该密码:https://help.github.com/articles/which-remote-url-should-use在启用时,2FA-/#

或者你可以用ssh https://help.github.com/articles/which-remote-url-should-i-use/#cloning-with-ssh-urls克隆(也可能有用:https:// help. github.com/articles/generating-an-ssh-key/)

  • 将克隆与ssh一起使用 (2认同)

小智 11

您必须生成访问令牌并使用访问令牌而不是密码。例如:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
Run Code Online (Sandbox Code Playgroud)

文档:https : //help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line


Uma*_*har 5

使用 2FA,您需要在推送代码时生成个人访问令牌。在将代码推送到 Github 时,该个人令牌将用作密码。您可以从https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line看到如何创建个人访问令牌。当您使用 http url 克隆 repo 时,将使用它。它将适用于所有存储库。

如果您已经通过 SSH 克隆了 SSH,那么在启用 2F 身份验证后,您可以非常轻松地推送您的更改,而不会对正常行为进行任何更改。为此,您使用 SSH 密钥密码作为密码。首先,它要求您针对您的存储库创建 SSH 密钥。您可以从https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent 生成 SSH 密钥它将仅适用于单个存储库仅针对已生成此 SSH 密钥的特定报告。


J.Z*_*.Z. 5

如果您已通过 https 进行克隆并希望继续使用它,无论出于何种原因,您都可以编辑.git/config以包含根据https://help.github.com/en/github/authenticating-to-github/creating生成的个人访问令牌-a-personal-access-token-for-the-command-line

示例.git/config条目:

[remote "<YOUR-REMOTE-NAME>"]
    url = https://<YOUR-USERNAME>:<YOUR-TOKEN>@github.com/<etc your repo url>
Run Code Online (Sandbox Code Playgroud)

这是将您的令牌密钥放在您机器上的这个纯文本文件中,这很糟糕,但是如果您需要快速破解才能使事情顺利进行,它可以工作。

干杯!