尝试访问私人公司tfs。 他们通过授予Windows用户(domain \ login)适当的权限来授予我访问权限。
我可以访问tfs的Web界面,浏览存储库和其他内容。
但是当我尝试运行
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/'
在没有公司网络内容的情况下尝试使用家用PC-同样的错误。
在PowerShell,Git Bash,通过VisualStudio克隆中尝试-相同的错误。
SSH已关闭(请求超时)。
Web和Git都要求一次凭证(尝试在Credentials Manager中删除-再次询问,提交网络正常后,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
答案 0 :(得分:27)
转到> Control Panel\User Accounts\Credential Manager
> Manage Windows Credentials
并删除所有涉及 Git 的通用凭据。这样,您可以重置所有凭据;此后,克隆后,系统会重新安全提示您输入用户名和密码,而不是“身份验证”错误。
希望有帮助。
答案 1 :(得分:5)
添加username
和password
对我有用:例如
https://myUserName:myPassWord@myGitRepositoryAddress/myAuthentificationName/myRepository.git
答案 2 :(得分:1)
罪魁祸首是俄罗斯帐户密码。
意外地设置了它(错误的键盘布局)。 一切都正常,所以不必费心更改它。
出于绝望,现在对其进行了更改,并且可以正常工作。
如果有人在查找该线程而不是您的解决方案-在我所描述的问题和步骤下查看注释,它们可能对您有用。
答案 3 :(得分:1)
正如其他答案所建议的那样,在Manage Windows Credentials
中编辑/删除凭据可以正常工作。但是,每次密码更改或凭据对某些工作不起作用时,都需要执行此操作。使用ssh key
对我来说非常有用,在我完成创建ssh-key
并将它们添加到服务器存储库(github / bitbucket / gitlab)之后,我就不必再为这些烦恼了。
生成新的SSH密钥
打开Git Bash。
粘贴以下文本,替换为您的仓库的电子邮件地址。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
当系统提示您“输入要保存密钥的文件”时,请按Enter。这将接受默认文件位置。
然后将要求您输入安全密码。您可以输入密码,然后按Enter键,然后再次输入密码。
或者,按Enter键两次以输入空密码。
将此内容复制到剪贴板上:
剪辑<〜/ .ssh / id_rsa.pub
然后将此密钥添加到您的仓库的配置文件中。例如,在 github-> setting-> SSH密钥->上粘贴您复制广告命中的密钥,添加
一劳永逸!
答案 4 :(得分:1)
在尝试了该线程和其他线程上的几乎所有内容之后,继续使用Google,最后对我有用的唯一方法是通过命令行以我的AD用户身份启动Visual Studio:
cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE
runas /netonly /user:<comp\name.surname> devenv.exe
我的情况是我正在使用个人计算机连接到使用AD授权的公司内部/本地devops服务器(不是基于云的服务器)。我对TFS没问题,但是git不能使克隆正常工作(Git失败并出现致命错误。[url]身份验证失败),直到我这样做为止。
答案 5 :(得分:0)
答案 6 :(得分:0)
在通过Bash / VS代码克隆存储库时出现“致命:身份验证失败”时,我遇到了同样的问题。我根据以下文章使用SSH密钥身份验证来连接我的存储库:[https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page][1] 使用bash命令后,我没有任何错误!
答案 7 :(得分:0)
我没有忘记密码,而是将密码遗忘并提示用户输入密码,但前提是我在用户名之前加了域名:
git clone https://some-dom-name\firstname.lastname@tfs.somedomain.com/tfs/...
答案 8 :(得分:0)
答案 9 :(得分:0)
答案 10 :(得分:0)
我在Windows 10机器上也遇到了同样的问题,我尝试了许多解决方案,但是直到安装了最新的git版本后才起作用。 https://git-scm.com/downloads。
答案 11 :(得分:0)
前往:
<块引用>控制面板 -> 用户帐户 -> 凭据管理器 -> Windows 凭据 -> 通用凭据 >> 删除为特定 URL 保存的旧凭据
然后,当您刚刚克隆存储库时,它会提示输入凭据。
答案 12 :(得分:0)
这里有一个替代答案。打开 git bash 转到路径 git/mingw64/libexec/git-core
并运行以下命令:
./git-credential-manager clear
下次执行克隆时,将打开一个对话框并显示您需要哪个凭据管理器。我选择了wincred
(不知道是不是最好的选择)。选中该框,这样它就不会再问了。另一个类似的对话框将再次打开。
顺便说一句,最好使用 ssh 密钥进行身份验证。不要使用 https 结帐。如果您每次与服务器交互时都必须输入密码,那么您将减少输入次数,并减少合并代码的频率。更多的冲突会发生。
答案 13 :(得分:0)
尽管通过 Sorucetree 和 gitbash 在提示窗口中输入凭据登录失败,但 GitHub 桌面应用程序可以轻松运行
答案 14 :(得分:-1)
当我尝试在全新计算机上克隆存储库时,我遇到了完全相同的错误。我使用git bash作为我的git客户端。当我运行Git的命令来克隆存储库时,不是 not 提示我输入用于身份验证的用户ID和密码。这是一台崭新的计算机,Windows凭据管理器没有缓存单个凭据。
作为最后的选择,我在凭据管理器中手动添加了凭据。
转到> Control Panel\User Accounts\Credential Manager
> Windows Credentials
点击Add a Windows credential
链接,然后提供如下表所示的详细信息,您就可以完成:
我的详细信息如下:
Internet or network address: 192.168.1.100
User Name: MyCompanysDomainName\MyUserName
Password: MyPassword
下一次,只要您运行任何针对在以上地址(192.168.1.100)上设置的存储库的git命令,便会使用此手动缓存的凭据。
在这里分享我的经验,以防将来对某人有帮助。