当从Visual Studio Code (1.62.2) 推送到GitHub时,“fatal: Authentication failed for”

29

现在许多人遇到了一个问题,无法再向 GitHub 推送更改并收到“fatal: Authentication failed for”错误提示。这在 Linux 上有所观察。

这是因为 Visual Studio Code 的最新版本(1.62.2)引入了此错误。

是否有此版本的修复方法或其他解决方法?


1
我也在Linux上(Ubuntu MATE 20.04 (Focal Fossa))安装了它。它是仅限于Linux平台使用还是可以在其他操作系统上使用? - Peter Mortensen
1
完整的错误信息可能包含或不包含“remote: No anonymous write access.”。 - Peter Mortensen
1
或者 "远程:找不到仓库。" - Peter Mortensen
1
这里甚至没有问题。您没有说明您想要如何进行身份验证。也没有像“ssh -vv”那样的调试输出。 - Robert
2
这个问题正在Meta上讨论。 - Ian Campbell
显示剩余4条评论
8个回答

29

漂亮的解决方案 ✅

我遇到了这个问题... 要修复它,请按照以下简单的步骤进行:

1. 进入你的 GitHub 个人资料设置

2. 选择开发者部分,进入个人访问令牌

3. 创建一个新的访问令牌(生成后立即复制)

4. 然后尝试推送一些更改到你的仓库,系统会要求输入用户名和密码

5. 对于密码,只需粘贴刚刚复制的访问令牌

编码愉快


11

将用户名和密码(由GitHub提供的个人令牌)添加到远程URL中,对我解决了问题。

  1. 检查连接的远程URL:

git remote -v

  1. 设置带有凭据的远程URL:

git remote set-url origin https://username:password@github.com/organization/repo.git

要生成您的个人访问令牌,请访问:https://github.com/settings/tokens


9
我解决这个问题的方法是将其降级到1.62.1版本,现在它再次完美运行。
我使用Linux,所以这可能不适用或适用于您,但如果所有Visual Studio Code版本在所有操作系统上都相同,则应该适用。
Visual Studio Code团队已确认将在1.62.3版本中修复此问题。
如果您像我一样使用openSUSE Tumbleweed,则可以在终端中运行以下命令进行降级: $ sudo zypper install --oldpackage code-1.62.1

1
你在哪里获取 Visual Studio Code 的旧版本? - Bogdan
@Bogdan 你需要在你的特定操作系统上查找如何实现它。 - Adrian D.
1
由于这个Visual Studio Code丑闻的问题正在变成规范问题,也许可以涵盖更多的Linux发行版/包管理器(附有具体说明)?DT最近制作了视频如何在Debian和Arch Linux中降级软件包 - Peter Mortensen
2
Ubuntu部分(APT/apt-get)开始于01分48秒。使用apt list -a code获取Visual Studio Code的可能版本列表(以及版本号的特定格式),使用sudo apt install code=1.62.1-1636111026降级到版本1.62.1。尽管是“install”,但它将会降级(实际上首先卸载当前版本)-确认消息的一部分是“将降级以下软件包:code”。 - Peter Mortensen
1
我可以确认使用 sudo apt install code=1.62.1-1636111026 从 Visual Studio Code 版本 1.62.2 降级到版本 1.62.1,并且(再次)能够在 Ubuntu MATE 20.04 (Focal Fossa) 中从 Visual Studio Code 推送 Git 到 GitHub 确实有效。没有进行其他更改 - Peter Mortensen
显示剩余2条评论

9

这很可能是此问题,将在1.62.3中解决。

解决方法是在Visual Studio Code设置中取消设置 Git:终端身份验证( 菜单文件首选项设置用户扩展Git终端身份验证)。

输入图像描述


这个解决方法对我没有任何作用(我在“工作区”和“用户”中都进行了更改)- 出现了完全相同的错误信息。 - Peter Mortensen
是的,对我来说它在我的一台Windows电脑上运行良好,但另一台电脑和我的Linux机器都无法运行... 我想降级仍然是最佳选择。 - mrgou
这里是扩展版本。我还没有尝试过它(但)- 我选择将Visual Studio Code降级到1.62.1来使其再次工作,但我可能会稍后在单独的非关键性非生产环境中深入挖掘。 - Peter Mortensen
我现在使用的是1.62.3版本,问题已经解决了。在VS Code的GitHub存储库中打开一个问题,以便他们知道这个问题。 - Adrian D.
问题已在1.62.3中解决,但请注意您必须重新启动终端会话,即退出当前会话,然后启动新的终端而不是恢复以前的会话。 - Leigh Mathieson

6

如果您是Windows用户,并且最近更改了Git凭据的密码,那么在下一次Git操作或新克隆时可能会出现错误。

  1. 打开控制面板 -> 所有控制面板项目 -> 凭据管理器
  2. 进入Windows凭据.
  3. 通用凭据下找到现有的GIT URL git:https://xxxxx。
  4. 编辑凭据,输入新密码。 然后再次尝试您的操作。

2
你的答案可以通过添加更多支持信息来改进。请[编辑]以添加更多细节,例如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心中找到有关撰写良好答案的更多信息。 - Community
1
这是 Windows 的正确答案。 - Nico Müller
在第4步中,请确保输入个人访问令牌而不是您的GitHub密码。 - Rod

4

这篇文章解决了我的问题。

我曾暂时使用git config --global credential.helper cache并在常规Linux shell中使用个人访问令牌提交代码。

在常规Linux shell中输入和缓存后,我已经能够像往常一样在Visual Studio Code终端中推送代码。

更新: 尝试使用命令$ git config credential.helper storeGit store,现在我能够轻松地向我的repo推送代码,而不必每次推送时输入PAT。Cache只能暂时起作用。此外,在这里发现了一篇相当深入的文章here,更详细地说明了如何为mac、windows和linux存储github PAT。然而,这是一篇旧帖子。


临时的东西是在之前还是之后?例如,您是否创建并使用了一个新的个人访问令牌?还是您已经在使用个人访问令牌? - Peter Mortensen
1
那个问题有37个答案。你用了什么,特别是做了什么?能详细说明一下吗?请通过编辑(更改)您的答案来回复,而不是在评论区回复(不要添加“Edit:”、“Update:”或类似的内容——答案应该看起来像刚刚编写)。 - Peter Mortensen
我关于“编辑”写了什么?你能修复一下吗?谢谢。 - Peter Mortensen

3

我更改了我的电脑密码,在Windows上使用VS Code时遇到了相同的问题。我通过在控制面板的凭据管理器中更新密码来解决它。

enter image description here

然后点击矩形框中显示的缺口。它会显示一个小窗口,您可以在其中编辑凭据。完成后,点击保存按钮。

Ola!


0
这个问题在Android Studio中也发生了。这是我的解决方案。
我用一种非常简单的方法解决了这个问题。首先,在输入用户名和密码后,它会显示一个消息,如“支持密码验证已于2021年8月13日移除。”
然后我只需点击Android Studio上的推送按钮,认证问题就不会出现了。

1


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