2021年8月13日,密码认证支持已被移除。

35

我长期以来一直在使用Tortoise Git,但今天我无法使用它并出现了以下错误:

git.exe pull --progress -v --no-rebase "origin" remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

我正在使用最新的Tortoise Git版本。 enter image description here

我理解Git的最新更改,但我仍想使用Tortoise Git。请有经验的人士帮忙解决这个问题。


错误信息来自远程(Github),你有查看那个链接吗? - Rodney
这个回答解决了你的问题吗?已删除密码认证支持,请使用个人访问令牌代替 - matt
答案不在使用Tortoise Git。 - Sathiamoorthy
6个回答

56

Github于2021年8月13日撤回了对密码验证的支持,并给出了以下回应:

Support for password authentication was removed on August 13, 2021

为解决此问题,请按以下步骤操作:

  1. 进入 Github 帐户的设置
  2. 找到并选择开发者设置
  3. 找到并选择个人访问令牌
  4. 生成一个新的令牌
  5. 填写任何注释并选择访问范围
  6. 完成后,单击生成令牌

使用生成的令牌代替密码与 GitHub 通信。


https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token - Nathaniel Jones
2
我在4年后重新开始推进一些工作,感觉自己仿佛被时间冻结了,但这个答案帮助了我。 - TheExorcist
非常感谢您,您节省了我很多时间。 - satyajit
在WSL2中无法工作。 - mLstudent33
我只是针对我的情况使用了这种方式,哇,它仍然有效。非常感谢兄弟! - Nghien Nghien

22
请按照以下步骤避免此问题:
1. 在https://github.com/settings/tokens,生成一个令牌。
2. 当使用git clone, push, pull时,请使用以下凭据。
- 用户名: user_github_username - 密码: 添加生成的令牌而非密码。

8

实际上,Git 希望将令牌存储在本地计算机中,而不是密码。

因此,您可以在 MAC 上修复此问题

  1. 单击配置文件图片

  2. 进入设置

  3. 然后点击“个人访问令牌并生成新令牌”,如图所示 enter image description here

  4. 然后编写 Token 名称、选择过期日期和所需的权限,然后单击屏幕底部的“生成令牌” enter image description here

  5. 打开密钥串访问并搜索 Github,双击 Github 账户。 enter image description here

  6. 最后一步是将 GitHub 令牌粘贴到密码字段中。这就是你要做的全部。 enter image description here


我们需要从哪里复制令牌?我在您的屏幕截图中看不到令牌,只能看到令牌名称(注释)。 - kumar
在第4步,生成屏幕底部显示的令牌。 - Muhammad Tameem Rafay
1
您不需要将它放入钥匙串中。一旦您在Github上创建了令牌,只需重新运行git命令,并在提示输入密码时,输入刚刚创建的令牌即可。 - Eli

5

按照以下步骤来解决问题:

  1. 使用 git update-git-for-windows 命令来更新你的 git 版本。

  2. 在 Windows 的开始菜单中搜索 凭据管理器 并打开它。

  3. 点击 Windows 凭据,搜索并删除 GitHub 凭据。

  4. 现在使用 Tortoise Git 拉取代码。你将会看到以下弹窗。

enter image description here

  1. 在弹窗中点击 在浏览器中登录,现在你就可以像之前一样使用 Tortoise Git 了。

2

仅使用令牌而非密码对我无效。以下是我所做的所有步骤:

  1. 在开发者设置中生成令牌
  2. 在所有地方(Key Chain、Intellij内部、终端)使用新令牌。确保您将令牌保存在某个地方,因为除非重新生成,否则您无法再次查看它。
  3. 我的组织已启用SAML SSO。我进入了令牌并配置了SSO并验证了我的组织。有关SAML SSO的步骤可以在此处找到

在完成以上3个步骤后,我成功访问了Git而无需密码。


1
只需按照以下三个简单步骤推送您的git存储库...
在此之前,您可以首先运行以下命令
git init git status git add . git branch -M main
1. git remote set-url origin git@github.com:/.git 2. git commit -am "your comments" 3. git push --set-upstream origin main

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接