解决:fatal: authentication failed for https
最近使用微软的 VSTS
www.visualstudio.com
代码托管后,在linux 环境拉取代码总是验证不成功。
解决办法:
Use Git Credential Managers to Authenticate to VSTS
- 2018/03/14
- 2 分钟阅读时长
VSTS | TFS 2018 | TFS 2017 | TFS 2015 | VS 2017 | VS 2015
Git Credential Managers simplify authentication with your VSTS/TFS Git repos. Credential Managers let you use the same credentials that you use for the VSTS/TFS web portal and support multi-factor authentication through Microsoft Account (MSA) or Azure Active Directory (AAD). In addition to supporting multi-factor authentication with VSTS, the credential managers also provide support two-factor authentication with GitHub repositories.
VSTS provides IDE support for MSA and AAD authentication through Team Explorer in Visual Studio, IntelliJ and Android Studio with the VSTS Plugin for IntelliJ, and Eclipse (with the Team Explorer Everywhere plug-in). If your environment doesn't have an integration available, configure your IDE with a Personal Access Token or SSH to connect with your to your repos.
Install the Git Credential Manager
Windows
Download and run the latest Git for Windows installer, which includes the Git Credential Manager for Windows. Make sure to leave the Git Credential Manager installation option enabled when prompted.
macOS and Linux
Review the system and software requirements before installing the credential manager.
On macOS and Linux, there are several install options that use native package managers to install the credential manager. After installing the package for your platform, run the following command to configure Git to use the credential manager :
- > git-credential-manager install
Using the Git Credential Manager
When you connect to a VSTS Git repository from your Git client for the first time, the credential manager prompts for your Microsoft Account or Azure Active Directory credentials. If your account has multi-factor authentication enabled, you are prompted to go through that experience as well.
Once authenticated, the credential manager creates and caches a personal access token for future connections to the repo. Git commands that connect to this account won't prompt for user credentials until the token expires or is revoked through VSTS/TFS.
Getting help
You can open up and report issues with the Git Credential Manager for Windows on the project GitHub. Frequently Asked Questions for the Git Credential Manager for Windows are available in the online readme.
Manual installation steps for the Windows Git Credential Manager and the macOS and Linux Git Credential Manager are available. Use these steps to install the credential manager if the recommended steps above are not suitable for your environment.
Learn more
In addition to providing full source code, we've also documented how the credential manager integrates with Git. Refer to the MSDN blog posts on the macOS and Linux Git Credential Managerand the Windows Credential Manager. There is also an article on the project GitHub with information on the low-level internals of the Git Credential Manager for Windows.
反馈
Microsoft/Git-Credential-Manager-for-Mac-and-Linux
Installation Instructions
This document explains how to obtain the Git Credential Manager for Mac and Linux (GCM4ML) and how to configure Git to use the GCM4ML as its credential helper.
System Requirements
Great care was taken to avoid using any features of Java that would impact compatibility with Java 6. If you find a compatibility issue, please report it and provide as many details about your platform as necessary to reproduce the problem.
- Mac OS X version 10.9.5 and up OR a recent GNU/Linux distribution.
- Java 6 and up.
- Git version 1.9 and up.
How to install
On Mac OS X, installing via Homebrew is highly recommended. On Linux, it is recommended to use Linuxbrew or an RPM-based package manager if you can.
If you can't use any of the package managers, you can also download git-credential-manager-2.0.3.jar somewhere safe and stable, such as ~/git-credential-manager/
, and then follow the instructions for automatic or manual configuration.
Installing on Mac using Homebrew or on Linux using Linuxbrew (recommended)
Update the Homebrew/Linuxbrew formulae to make sure you have the latest versions:
brew update
Install the GCM4ML formula:
brew install git-credential-manager
Run the GCM4ML in
install
mode, which will check its requirements and then update the "global" Git configuration file (the one in your home folder):git-credential-manager install
Installing on Linux using RPM (recommended)
Download git-credential-manager-2.0.3-1.noarch.rpm and copy the file somewhere locally.
Download the PGP key used to sign the RPM.
Import the signing key into RPM's database:
sudo rpm --import RPM-GPG-KEY.txt
Verify the GCM4ML RPM:
rpm --checksig --verbose git-credential-manager-2.0.3-1.noarch.rpm
...you should see a line (among those there) that is equal to the following:
V4 RSA/SHA256 Signature, key ID ba34dbc2: OK
Install the RPM:
sudo rpm --install git-credential-manager-2.0.3-1.noarch.rpm
Run the GCM4ML in
install
mode, which will check its requirements and then update the "global" Git configuration file (the one in your home folder):git-credential-manager install
Installing on Mac or Linux without a package manager
Download git-credential-manager-2.0.3.jar somewhere safe and stable, such as ~/git-credential-manager/
Automatic configuration (recommended)
Run the GCM4ML in
install
mode, which will check its requirements and then update the "global" Git configuration file (the one in your home folder):java -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar install
Manual configuration
Configure the
credential.helper
setting to launch Java with the absolute path to the JAR (make sure you surround the whole value with 'single quotes'):git config --global credential.helper '!java -Ddebug=false -Djava.net.useSystemProxies=true -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar'
How to enable alternate credential storage
On Linux, the GCM4ML stores credentials in the GNOME Keyring. If GNOME Keyring is unavailable for your Linux distribution, or you are running the GCM4ML via a secure shell (SSH) session, a Git setting can be used to opt into storing credentials unencrypted in a file under your home directory where presumably only you and root have read access.
To enable fallback storage of credentials in this file, run this Git configuration command:
git config --global credential.canFallBackToInsecureStore true
With this setting, the GCM4ML will fallback to storing your credentials in this file:
~/.VSTeamServicesAuthPlugin/insecureStore.xml
How to enable (or disable) debug mode
Debug mode will turn on tracing and assertions, producing a lot of output to stderr
. Only turn this on temporarily, when trying to isolate a defect.
Automatic configuration (recommended)
Run the GCM4ML in
install
mode with thedebug
property set totrue
(orfalse
to disable):java -Ddebug=true -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar install
Manual configuration
Retrieve the value of the
credential.helper
configuration:git config --global --get credential.helper git-credential-manager
...it should look like this:
!java -Ddebug=false -Djava.net.useSystemProxies=true -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar
Set a new value for the
credential.helper
configuration (essentially repeating the manual configuration installation step, being careful with quoting and spaces), changing the value of thedebug
property totrue
(orfalse
to disable).
How to configure the proxy server
If your network does not allow a direct connection to remote hosts, you can configure the GCM4ML to perform requests through a web proxy.
Automatic configuration (recommended)
If you are running Gnome 2.x or greater, you can configure the proxy settings using the GUI and the GCM4ML will use those settings thanks to a JVM feature that's activated by setting the java.net.useSystemProxies
system property to true
(this is now done automatically when running the GCM4ML in install
mode).
Manual configuration
If it's not possible to use the automatic proxy server configuration, you must set the appropriate networking properties. Aside from SOCKS proxy servers, which can have their credentials specified through specific properties, authenticated proxy servers are currently not supported.
Retrieve the value of the
credential.helper
configuration:git config --global --get credential.helper git-credential-manager
...it should look like this:
!java -Ddebug=false -Djava.net.useSystemProxies=true -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar
Set a new value for the
credential.helper
configuration (essentially repeating the manual configuration installation step, being careful with quoting and spaces), adding the appropriate properties. For example, if you have a proxy server that can do HTTP and HTTPS, running on the host192.168.0.117
, listening on port8123
, then you would run the following (notice there's a pair of properties for http and one for https).git config --global credential.helper '!java -Ddebug=false -Dhttp.proxyHost=192.168.0.117 -Dhttp.proxyPort=8123 -Dhttps.proxyHost=192.168.0.117 -Dhttps.proxyPort=8123 -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar'
How to remove or uninstall
We are sad to see you go! Please give us some feedback on how we could do better next time.
Uninstall from Mac using Homebrew or Linux using Linuxbrew
Run the GCM4ML in
uninstall
mode, which will update the "global" Git configuration file (the one in your home folder):git-credential-manager uninstall
Uninstall the git-credential-manager package with Homebrew/Linuxbrew:
brew uninstall git-credential-manager
Archive the
insecureStore.xml
file from thegit-credential-manager
sub-folder under your HOME folder.
Uninstall from Linux using RPM
Run the GCM4ML in
uninstall
mode, which will update the "global" Git configuration file (the one in your home folder):git-credential-manager uninstall
Uninstall the git-credential-manager package with RPM:
sudo rpm --erase git-credential-manager-2.0.3-1.noarch
Archive the
insecureStore.xml
file from thegit-credential-manager
sub-folder under your HOME folder.
Automatic configuration removal (recommended)
Retrieve the value of the
credential.helper
configuration:git config --global --get credential.helper git-credential-manager
Run the GCM4ML in
uninstall
mode, which will update the "global" Git configuration file (the one in your home folder):java -jar /home/example/git-credential-manager/git-credential-manager-2.0.3.jar uninstall
The value retrieved in step 1 contained the path to the JAR. You can go delete that JAR.
Archive the
insecureStore.xml
file from thegit-credential-manager
sub-folder under your HOME folder.
Manual configuration removal
Retrieve the value of the
credential.helper
configuration:git config --global --get credential.helper git-credential-manager
Delete the value of the
credential.helper
configuration:git config --global --unset credential.helper git-credential-manager
The value retrieved in step 1 contained the path to the JAR. You can go delete that JAR.
Archive the
insecureStore.xml
file from thegit-credential-manager
sub-folder under your HOME folder.
解决:fatal: authentication failed for https的更多相关文章
- git——解决“fatal: Authentication failed for 'https://github.com/balabala”
平复一下心情,到底如何在github上将队友和owner的仓库连接?如何push代码到远程仓库???找了巨多教程,终于解决了~ 刚到公司不久,开始学着用git,在提交代码的时候怎么都提不上去! 解决办 ...
- Username for 'https://github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/GLSmile/pythontest.git/' 问题
使用$ git push -u origin master 进行同步时,提示输入用户名和密码,但是我输入正确的信息后,仍然 会报Username for 'https://github.com': r ...
- remote: HTTP Basic: Access denied fatal: Authentication failed for'https'
问题原因: 重置了密码导致git操作失败. 解决方案: 输入:git config --system --unset credential.helper 再次进行git操作,输入用户名,密码.
- fatal: Authentication failed for又不弹出用户名和密码 解决办法
各位,如果能弹出来,一定是你账号密码搞错了,就别继续看了. image.png 切换命令行: image.png 依然报错, 说到这个问题,又可以长篇大论了, 我使用的是tortoisegit ...
- Git客户端执行命令报错: fatal: Authentication failed for'xxxxx.git',但是又不弹出窗口重新输入用户名和密码的解决办法
1.Git版本:Git-2.17.0 2.引起git报错的原因 在变更远程仓库路径的的时候,弹出过一个窗口输入用户名和密码,但是输错了,之后执行任何拉取和更新的命令都会报如下的错: fatal: Au ...
- git [command line] fatal: Authentication failed for
fatal: Authentication failed for https://www.jianshu.com/p/8a7f257e07b8 git.exe fetch -v --progress ...
- remote: Incorrect username or password ( access token ) fatal: Authentication failed for
gitee推送到远程仓库时提示错误remote: Incorrect username or password ( access token )fatal: Authentication failed ...
- Git在提交代码时出现的fatal: Authentication failed的问题
git push origin master remote: Incorrect username or password ( access token ) fatal: Authentication ...
- remote: http basic: access denied fatal: authentication failed for '‘解决办法
问题描述 由于这个项目代码使用https 进行clone,为什么?因为代码库ssh有问题!fuck! 导致在push代码的时候出现了 remote: http basic: access denied ...
随机推荐
- MySQL 锁模式
InnoDB implements standard row-level locking where there are two types of locks, shared (S) locks an ...
- Java Run-Time Data Areas
前言 本文主要介绍JVM的运行时数据区 来自Oracle文档 Java Virtual Machine Specification -- Chapter 2. The Structure of the ...
- jQuery的deferred对象详解 jquery回调函数
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html jQuery的 ...
- libxml2 使用教程【转】
https://blog.csdn.net/zhoudaxia/article/details/8565731# 本文整理自官方使用教程http://xmlsoft.org/tutorial/inde ...
- Android开发者选项 介绍
15个必知的Android开发者选项 https://www.jianshu.com/p/07b551ee260b 1.Stay awake 充电时保持屏幕唤醒,开发的时候,时不时的锁屏真是够了,开 ...
- 从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现
http://blog.csdn.net/dark_scope/article/details/17228643 〇.说明 本文的所有代码均可在 DML 找到,欢迎点星星. 一.引入 推荐系统(主要是 ...
- 'Lock wait timeout exceeded; try restarting transaction'问题
OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 原因很简单,太多错误,意外处理没有 ...
- [PureScript] Break up Expressions into Cases in PureScript using Simple Pattern Matching
Pattern matching in functional programming languages is a way to break up expressions into individua ...
- 解决webstorm本地IP访问页面出错的问题,webstorm支持IP访问
想在手机端访问webstorm做出的页面,遇到了根据IP地址访问页面错误的问题,试了网上的方法:“设置webstorm可以被外部连接访问”,依旧不能解决 解决方法: 在webstorm下:ctrl+a ...
- pycharm下设置自己的模板
在File---settings---File and Code Templates---Python script 脚本里添加: #!usr/bin/env python #-*- coding:u ...