远程:用户名或密码无效。致命错误:身份验证失败。

20

我刚开始使用Git/Github,但完全陷入困境。我在Mac/OSX El Capitan 上使用终端,当它要求输入密码时,告诉我密码无效,但我输入的是我创建GitHub帐户时使用的相同密码,所以这肯定应该有效吧?我做错了什么?

Last login: Sun Dec  4 10:46:35 on ttys000
Seans-MBP:~ mrseanbaines$ git push -u origin master
Username for 'https://github.com': mrseanbaines
Password for 'https://mrseanbaines@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/mrseanbaines/cartwheeling-kitten.git/'
Seans-MBP:~ mrseanbaines$

你的远程仓库长什么样子(git remote -v 的输出)?你是否使用了双重身份验证? - yelsayed
@yBot 最后登录时间:星期日12月4日11:51:27,终端为ttys000 Seans-MBP:~ mrseanbaines$ git remote -v origin https://github.com/mrseanbaines/cartwheeling-kitten.git (获取) origin https://github.com/mrseanbaines/cartwheeling-kitten.git (推送) Seans-MBP:~ mrseanbaines$如何检查我是否启用了双重认证? - mrseanbaines
你尝试使用那些用户名和密码登录GitHub了吗? - pedrorijo91
@pedrorijo91 是的,它运行良好。 - mrseanbaines
你还卡住了吗? - 10101010
7个回答

39

我曾经遇到过相同的问题。
解决方法:
步骤1:控制面板
步骤2:凭据管理器
步骤3:点击“Windows 凭据”
步骤4:在“通用凭据”部分,会有 Git 的 URL,请编辑并更新用户名和密码。
步骤5:重新启动 Git Bash 并尝试进行克隆 输入图像描述


这在个人电脑和企业电脑上都能完美运行。 - Eduard Voiculescu
传奇!!运行得非常好。 - Shivpe_R

31

在 GitHub 启用 2FA(两步验证)后,您无法在命令行中使用 GitHub 密码。相反,您必须使用个人访问令牌。

个人访问令牌用于认证您的个人应用程序和命令行。命令行没有告诉我们需要生成个人访问令牌,这就是为什么程序员经常忽视这个解决方案的原因。

导航到“设置”页面 点击侧边栏中的“开发者设置” 在侧边栏中点击“个人访问令牌” 点击“生成新令牌” 填写表单以创建新令牌

将该令牌用作密码,git克隆将工作正常。


在执行以上步骤后,问题得到了解决,但我不得不前往Github并点击“启用SSO”,然后我们会看到“授权”按钮,之后我点击它,再运行git config --global credential.helper store,这有助于解决在命令行中经常重复询问用户名的烦人问题。以上解决方案点个赞。 - ravibeli

10

(1)进入https://github.com/settings/security,关闭双重认证

(2)创建一个新文件夹,在新文件夹中:

git clone https://github.com/mrseanbaines/cartwheeling-kitten.git
cd cartwheeling-kitten

打开一个空的源代码目录,由于你使用的是 macOS,输入

open .

(3) 将你的源代码复制到名为cartwheeling-kitten的文件夹中(它是打开的文件夹)。

(4) 配置

git config user.name "Your full name"
git config user.email "Your_email_address_what_used_to_register Github_account"

(5) 添加远程URL

git remote add upstream https://github.com/mrseanbaines/cartwheeling-kitten.git

(6) 添加到暂存区,然后推送

git add -A .
git commit -m "Upload source code"
git push -u origin master

(7) 前往https://github.com/mrseanbaines/cartwheeling-kitten查看结果。


我按照你的指示操作,但在执行'git push -u origin master'后它要求我输入用户名和密码。看起来像这样:https://snag.gy/cqNOts.jpg...而且GitHub页面仍然像这样:https://snag.gy/nhKacb.jpg当我输入密码后,它会进入下一行却没有"Seans-MBP:",似乎没有任何反应,但如果我试图关闭终端,它似乎仍在处理中。看起来像这样:https://snag.gy/t1q9lv.jpg - mrseanbaines

5

2020 - 当你在 Github 上更改密码后并在本地计算机上更改时,它会出现认证错误的提示,但你可以通过执行 git pull 来轻松解决这个问题,它将强制要求你输入凭据。所以,你只需键入新密码就可以愉快地继续使用 :)


1

当我试图从本地(macbook)将代码推送到远程仓库时,我在GHE网站密码重置后遇到了相同的问题。

$ git push -u origin coffee_shop_autorization

remote: Invalid username or password.

fatal: Authentication failed for 'https://github.com/ravinderreddy-p/FSND.git/'

然后我按照以下简单步骤解决了这个问题:

  1. 我从 GHE 克隆了另一个存储库到不同的本地文件夹中:

    git clone https://github.com/ravinderreddy-p/bookshelf.git

  2. 我通过 'cd bookshelf' 切换到了这个文件夹。
  3. 我尝试以以下方式推送相同的内容而不进行任何更改:

    git push

  4. 它提示输入 'https://github.com' 的用户名:<提供您在 GHE 上的用户名> 然后按回车键。
  5. 它提示输入 'https://ravinderreddy-p@github.com' 的密码:<提供更新的 GHE 密码> 然后按回车键。
  6. 您将会看到这条消息 "Everything up-to-date"

一切都完成了。

现在请前往您之前尝试将代码推送到远程的本地存储库并执行您之前的命令。

git push -u origin coffee_shop_autorization

这将把代码推送到远程仓库,您可以看到类似以下内容(包括您的仓库和分支详细信息):

正在枚举对象:35,完成。

正在计算对象:100%(27/27),完成。

使用最多4个线程进行增量压缩

正在压缩对象:100%(14/14),完成。

正在写入对象:100%(15/15),2.47 KiB | 843.00 KiB/s,完成。

共有15个对象(delta 8),重用0个对象(delta 0)

远程:正在解析增量:100%(8/8),使用5个本地对象完成。

远程:

远程:通过访问以下网址在GitHub上为“coffee_shop_autorization”创建拉取请求:

远程:https://github.com/ravinderreddy-p/FSND/pull/new/coffee_shop_autorization

远程:

前往https://github.com/ravinderreddy-p/FSND.git

  • [新分支] coffee_shop_autorization -> coffee_shop_autorization 分支 'coffee_shop_autorization' 已设置为跟踪来自 'origin' 的远程分支 'coffee_shop_autorization'。

这对我在Windows上起作用。我没有启用2FA,只是更改了我的密码。这里提供的其他受赞同的解决方案都不适用。奇怪(而且令人失望)的是,推送带有更改的操作失败,而不带更改的操作则弹出了一个登录对话框。更糟糕的是,在选择“通过浏览器登录”后,我进入了一个页面,上面显示“Firefox无法与服务器127.0.0.1:49217建立连接”。显然不可能。但是那时我已经通过身份验证,并且能够推送我的更改。Windows和GitHub是同一家公司制作的;你会期望它们能够协同工作。 - undefined

1

0

请确保您的远程URL正确。看起来您缺少协议,应该是:https://github.com/mrseanbaines/cartwheeling-kitten.git。您可以通过将repo克隆到另一个目录并在那里尝试git操作来验证此操作。

如果您想修复它以添加协议,则可以执行以下操作:git remote set-url origin https://github.com/mrseanbaines/cartwheeling-kitten.git


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