从 Visual Studio Code (1.62.2) 推送到 GitHub 时出现“致命:身份验证失败”
Posted
技术标签:
【中文标题】从 Visual Studio Code (1.62.2) 推送到 GitHub 时出现“致命:身份验证失败”【英文标题】:"fatal: Authentication failed for" when pushing to GitHub from Visual Studio Code (1.62.2) 【发布时间】:2021-12-26 23:06:10 【问题描述】:我们中的很多人目前都遇到无法将更改推送到 GitHub 并获得
fatal: Authentication failed for
错误。这已在 Linux 上观察到。
这是因为最新版本的 Visual Studio Code (1.62.2) 引入了这个错误。
是否有针对此版本的修复程序或其他解决方法?
【问题讨论】:
我也在 Linux 上得到了它 (Ubuntu MATE 20.04 (Focal Fossa))。它是否仅限于 Linux? 完整的错误消息可能包含也可能不包含“remote: No anonymous write access.”. 或 "remote: Repository not found." 这里连一个问题都没有。没有关于您要如何进行身份验证的详细信息。没有来自ssh -vv
的调试输出
这个问题正在讨论on Meta。
【参考方案1】:
我解决它的方法是将它降级到 1.62.1,现在它再次完美运行。
我在 Linux 上,因此这可能不适用于您,但如果所有 Visual Studio Code 版本在所有操作系统中都相同,则它应该适用。
Visual Studio Code 团队已确认将在 1.62.3 上修复
如果你和我一样使用openSUSE Tumbleweed,可以在终端运行以下命令进行降级:
$ sudo zypper install --oldpackage code-1.62.1
【讨论】:
从哪里获得旧版本的 Visual Studio 代码? @Bogdan 您必须查看如何在您的特定操作系统上执行此操作。 由于这个问题正在成为这个 Visual Studio Code 丑闻的典型问题,也许会涵盖更多的 Linux 发行版/包管理器(带有特定说明)? DT 最近制作了视频“How to downgrade packages In Debian and Arch Linux”。 Ubuntu 部分 (APT/apt-get) 从 01 分 48 秒开始。apt list -a code
获取 Visual Studio Code 的可能版本列表(以及版本号的特定格式)和sudo apt install code=1.62.1-1636111026
降级到版本 1.62.1。尽管“安装”它会降级(首先有效地卸载当前版本) - 确认消息的一部分是“以下包将被降级:代码”
我可以确认使用 sudo apt install code=1.62.1-1636111026
将 Visual Studio Code 的版本从 1.62.2 降级到 1.62.1,并且(再次)能够从 Visual Studio Code 中将 Git 推送到 GitHub 实际上适用于 @ 987654324@(焦点窝)。 没有进行其他更改。【参考方案2】:
它显然被this issue 覆盖,将在1.62.3 中解决。
解决方法是在 Visual Studio Code 设置中取消设置 Git: Terminal Authentication(菜单 File → Preferences → Settings → 用户 → 扩展 → Git → 终端验证)。
【讨论】:
解决方法对我没有任何影响(我在 "Workspace" 和 "User" 中都更改了它) - 完全相同的错误消息。 是的,对我来说,它可以在我的一台 Windows PC 上运行,但在另一台和我的 Linux 计算机上都没有......我想降级仍然是最好的选择。 这里是an extended version。我还没有尝试过(还没有)-I went with downgrading Visual Studio Code to 1.62.1 让它再次工作,但我以后可能会使用单独的非关键非生产环境进行更深入的研究。 我现在在 1.62.3 上,问题已经解决。在 VS Code GitHub 存储库中打开一个问题,以便他们了解它 是的,问题已在 1.62.3 中解决,但请注意您必须重新启动集成终端会话,即退出它,然后启动新终端,而不是恢复之前的会话【参考方案3】:这篇帖子here解决了我的问题。
我暂时使用git config --global credential.helper cache
并使用personal access token 在常规Linux shell 中推送提交。
在常规 Linux shell 中输入和缓存后,到目前为止,我已经能够在 Visual Studio Code 的终端中按惯例推送提交。
更新:
使用命令$ git config credential.helper store
尝试了Git store,我现在可以毫无问题地推送到我的仓库,而不必在每次推送时都输入 PAT。缓存只能暂时起作用。还发现了一篇相当深入的帖子here,它更深入地解释了为 mac、windows 和 linux 存储 github PAT 的过程。但是,这是一个旧帖子。
【讨论】:
暂时的事情是之前还是之后?例如,您是否创建并使用了新个人访问令牌?您是否已经在使用个人访问令牌? 这个问题有 37 个答案。您特别使用和做什么?你能详细说明吗?请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来好像写对了现在)。 关于“编辑”我写了什么?请问你能修好吗?提前致谢。【参考方案4】:将用户名和密码(GitHub 提供的个人令牌)添加到远程 URL,解决了我的问题。
-
检查连接的远程 URL:
git 远程 -v
-
使用凭据设置远程 URL:
git 远程 set-url 来源 https://username:password@github.com/organization/repo.git
【讨论】:
【参考方案5】:我遇到了这个问题.... 要修复它,您只需按照以下步骤操作:
-
转到您的 github 个人资料设置
选择开发者部分并转到个人访问令牌
创建一个新的访问令牌(生成后立即复制)
然后尝试在您的存储库中推送一些更改,系统会要求您输入用户名和密码
对于密码,只需粘贴您刚刚复制的访问令牌
快乐编码????
【讨论】:
以上是关于从 Visual Studio Code (1.62.2) 推送到 GitHub 时出现“致命:身份验证失败”的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Visual Studio Code API 打开浏览器
如何从 Visual Studio Code 连接到 MySQL 服务器
如何从 OSX 的命令行打开 Visual Studio Code?
从 Visual Studio Code、Dot Net 连接 MySQL Db