Git 克隆: < URL > 身份验证失败

试图访问私人企业 tfs。 他们通过给予 Windows 用户适当的权限(域登录)给我访问权限。

I'm fine with accessing web interface of tfs, browse repository and stuff.

但当我试图逃跑的时候

 git clone https://tfs.somehostname.com/tfs/somefolder/_git/therepository

它失败了

Cloning into 'therepository'...


fatal: Authentication failed for 'https://tfs.somehostname.com/tfs/somefolder/_git/therepository/'

在没有公司网络的家庭电脑上试过-同样的错误。

Tried in PowerShell, Git Bash, Clone via VisualStudio - same error.

SSH 关闭(给定请求超时)。

Web 和 Git 都要求凭证一次(尝试删除凭证管理器-再次请求,提交 Web 后没问题,Git 失败)

公司助手想帮忙,但他只给了 TFS 日志。 他说,我的用户名不包含请求(通过将我的尝试时间戳与日志同步来跟踪)。

2018-07-19 07:04:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.3.9600.0;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 2 5 62
2018-07-19 07:23:00 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 - ANOTHERIP git/2.18.0.windows.1 - 401 1 3221225581 187

而其他人包括它

2018-07-19 05:44:27 SOMEIP GET /tfs/SOMEFOLDER/_git/REPOSITORY/info/refs service=git-upload-pack 443 DOMAIN\LOGIN ANOTHERIP git/2.12.2+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1;+Win32NT+x64)+CLR/4.0.30319+VS15/15.0.0 - 200 0 0 265
287460 次浏览

罪魁祸首是俄罗斯账户密码。

不小心设置了它(错误的键盘布局)。 一切正常,所以没有改变它。

出于绝望,现在改变了它,它起作用了。

如果有人查阅了这个帖子,并且它不是你的解决方案——查看问题下的评论和我在问题中描述的步骤,他们可能对你有用。

我在开发机器上也遇到了同样的错误。我想克隆一个仓库。我的机器有一个新安装的 WindowsServer 操作系统。我用 Git bash 作为我的 Git 客户端。当我运行 Git 的命令来克隆一个存储库时,它是 没有,提示我输入将用于身份验证的用户 ID 和密码。这是一个新的个人电脑,所以没有任何凭证缓存的 Windows 凭证管理器。

作为最后的手段,我在凭证管理器中手动添加了凭证,步骤如下:

  1. Press Window + R to open 快跑 prompt.
  2. 输入 控制,然后按 OK
  3. 控制面板窗口上单击 User Accounts
  4. 用户帐户窗口上单击 Credential Manager
  5. 证书经理窗口上单击 Windows Credentials

现在,单击 视窗证书部分中的 Add a Windows credential(请参阅下面截图中的黄色高亮部分) :

enter image description here

现在,输入如下表格所示的详细信息,然后单击 OK:

enter image description here

I had put the details as below:

Internet or network address: <gitRepoServerNameOrIPAddress>
User Name: <DomainName\MyUserName>
Password: <MyPassword>

下次运行针对在上述地址设置的存储库的任何 Git 命令时,将使用这个手动缓存的凭据。

注意 :

  1. 关闭并重新启动任何打开的 Git bash、 Powershell 或命令 shell,以使凭据缓存生效。
  2. 从现在开始,每当你的域名帐户密码改变,那么你就必须在这个屏幕上更新它。在公司环境中,由于密码轮换策略,这种情况经常发生。

更新(12-Jun-2022) : 如果添加一个 Windows 凭证对你不起作用,那么你可以试试 Add a generic credential(参考下面的截图)。请注意,在添加通用凭据时,TFS 服务器的 Internet 或网络地址的格式如下:

git:https://YourTfsServerAddress

enter image description here

添加 usernamepassword对我来说很有效: 例如。

https://myUserName:myPassWord@myGitRepositoryAddress/myAuthentificationName/myRepository.git

如果有人在 Azure DevOps 中遇到这个问题,那么修复非常简单,只需将 Git 凭证添加到存储库中。

enter image description here

当我通过 Bash/VS 代码克隆存储库时,遇到了同样的问题,“致命的: 身份验证失败”。我使用了 SSH 密钥认证来连接我的存储库,以下是这篇文章的内容: (1) rel = “ nofollow noReferrer”> https://learn.microsoft.com/en-us/azure/devops/repos/git/use-SSH-keys-to-authenticate?view=azure-devops&tabs=current-page 在执行任何 bash 命令之后,我没有得到任何错误!

我没有逃避我的密码,而是把它放在了外面,然后系统提示我输入密码,但是只有在我把域名放在我的用户名之前的时候:

git clone https://some-dom-name\firstname.lastname@tfs.somedomain.com/tfs/...

转到 > Control Panel\User Accounts\Credential Manager > Manage Windows Credentials 并删除所有涉及 Git的通用凭据(这样就可以重置所有凭据)

在此之后,当您克隆时,您将被 Newly很安全询问您的 Git 用户名和密码,而不是身份验证错误。

希望能有帮助。

正如其他答案所暗示的那样,编辑/删除 Manage Windows Credentials中的凭据可以工作并完成工作。但是,每次密码更改或凭据对某些工作不起作用时,都需要执行此操作。使用 ssh key对我来说非常有用,一旦我完成了 ssh-key的创建并将它们添加到服务器存储库(github/bitbucket/gitlab) ,我就不必再为此烦恼了。

生成一个新的 ssh-key

  1. 打开 Git Bash。

  2. 粘贴下面的文本,代替您的回购的电子邮件地址。 $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  3. 当系统提示您“输入要保存密钥的文件”时,按 Enter。它接受默认的文件位置。

  4. 然后会要求您输入一个安全密码。您可以键入一个密码短语,按回车键,然后再次键入该密码短语。

Or, Hit enter twice for empty passphrase.

  1. 把这个抄在剪贴板上:

    剪辑 < ~/. ssh/id _ rsa. pub

And then add this key into your repo's profile. For e.g, on Github-> 设置-> SSH 密钥-> 粘贴您复制的广告点击添加的密钥

档号: https://help.github.com/en/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key

你完蛋了!

在我的例子中,错误是一些旧的用户名和密码被存储在缓存中。

因此,我删除了它通过去源树和删除现有的帐户。

现在对于新的克隆,它会询问你回购的密码。 enter image description here

  1. 转到控制面板所有控制面板项凭据管理器并选择通用凭据。
  2. 删除所有与您的公司域名的凭证。
  3. Git clone repository from git bash terminal once again and it will ask for password and username. Insert it again and you are all set!

我的 windows 10机器也有同样的问题,我尝试了很多解决方案,但是都没有成功,直到我安装了最新的 git 版本。https://git-scm.com/downloads.

After trying almost everything on this thread and others, continuing to Google, the only thing that worked for me, in the end, was to start Visual Studio as my AD user via command line:

cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE
runas /netonly /user:<comp\name.surname> devenv.exe

原版: 翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳 https://developercommunity.visualstudio.com/content/problem/304224/git-failed-with-a-fatal-errorauthentication-failed.html

我的情况是,我在一台个人机器上连接到一家公司的内部/本地 devops 服务器(不是基于云的) ,该服务器使用 AD 授权。我在 TFS 中没有问题,但是在 Git 中无法让克隆工作(Git 出现了一个致命错误,导致失败)。在我这样做之前,[ url ]的身份验证失败。

浏览:

控制面板-> 用户帐户-> 凭证管理器-> Windows 凭证-> 通用凭证 > > 删除保存在特定 URL 中的旧凭证

然后,当您新鲜地克隆存储库时,它将提示您输入凭据。

这里有一个替代的答案。打开 git bash 转到路径 git/mingw64/libexec/git-core并运行以下命令:

./git-credential-manager clear

下次执行克隆时,将打开一个对话框,显示需要哪个凭证管理器。我选择了 wincred(不知道它是否是最好的选择)。打勾,这样它就不会再问了。另一个类似的对话框将再次打开。

顺便说一下,使用 ssh 密钥进行身份验证总是更好的方法。不要使用 https 结帐。如果每次与服务器交互时都必须键入密码,那么这样做的次数就会减少,合并代码的次数也会减少。更多的冲突将会发生。

Despite having login failed through Sorucetree and gitbash by entering credentails in the prompt window, GitHub Desktop application worked with no hassle

GitHub 桌面

为了克隆一个私有存储库,仅仅放入 passwordusername是不够的,因为终端不会告诉你,但是你必须使用 github 帐户复制 personal_access_token,并把它放在你的密码的地方。

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

此外,你亦可透过以下步骤轻易取得令牌:- Go to Settings
Developer Setting
Personal_acess_token
Now check the repo column and now click on Generate token Generate token
Congratulations!!
现在,当终端询问密码时,复制并粘贴它。 < br >

NOTE: - Treat your tokens like passwords and keep them secret

如果不询问凭据,那么最简单的解决方案是使用凭据克隆。 enter image description here

选项 B 将是合适的情况下,密码包括任何特殊字符的 URL 的处理方式奇怪。此选项询问密码。

我刚刚遇到了这个问题。最简单的方法是在 VisualStudio 中选择 Clone。然后 VisualStudio 会提示您输入凭据。输入凭据后,设置路径。然后复制您的存储库。

如果您正在使用 Gitlab,出于某种原因,使用 http 的 git 克隆不能正常工作。使用 ssh 克隆 Git 是唯一的选择。

git clone git@gitlab.example.com:demo.git

按照上面的答案清理窗口中的所有凭据 2-确保你有最新的 git,如果你的 git 没有更新到最新版本,你也会得到这个错误。

3-一旦你完成以上步骤。只要简单地克隆,它将要求凭证和将工作

对于新来的人,

Upvoted answers are not the answers anymore since,

Remote: 8月13日,对密码认证的支持被删除, 2021。请使用个人访问令牌代替。 远程: 请参阅 https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ 了解更多信息。

而且不需要重复访问令牌的回复,去跟踪他们。