git-credential-manager
git-credential-manager copied to clipboard
Cloning repos via http web proxy (kerberos authentication) is not working with git gui
Version
2.4.1
Operating system
Windows
OS version or distribution
windows server 2022
Git hosting provider(s)
Azure DevOps
Other hosting provider
No response
(Azure DevOps only) What format is your remote URL?
https://dev.azure.com/{org}
Can you access the remote repository directly in the browser?
Yes, I can access the repository
Expected behavior
Copying repos from outside of internal network to internal network should work via http web proxy.
We are using squid proxy with kerberos authentication so the user should authenticate via proxy using default system credentials. But i cannot seem to get it working via git config.
Also checked proxy logs and there are no information about what domain gets blocked. So i can't bypass the proxy authentication for git credential manager login. (git gui)
Actual behavior
When cloning the repos the authentication error: fatal: an error occured while sending the request. fatal: the remote server returned an error: (407) proxy authentication required
I then added the following to users global config:
git config --global credential.helper manager
git config --global http.proxy http://proxy.server.com:proxyport/ git config --global https.proxy http://proxy.server.com:proxyport/
also tried to add the following:
git config --global http.proxyAuthMethod negotiate git config --global https.proxyAuthMethod negotiate
but did not fix the issue.
After adding the proxy configs the error message changed to:
Fatal unable to access: '[https://dev.azure.com/{org} CONNECT tunnel failed, response 407
Logs
Here is diagnose parts that went success: False
Diagnostic: Networking
Skipped: False
Success: False
Exception:
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at GitCredentialManager.Diagnostics.NetworkingDiagnostic.<RunInternalAsync>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at GitCredentialManager.Diagnostics.Diagnostic.<RunAsync>d__6.MoveNext()
Log:
Checking networking and HTTP stack...
Creating HTTP client... OK
IsNetworkAvailable: True
Sending HEAD request to http://example.com...Sending HEAD request to https://example.com... OK
Diagnostic: GitHub API
Skipped: False
Success: False
Exception:
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at GitHub.GitHubRestApi.<GetMetaInfoAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at GitHub.Diagnostics.GitHubApiDiagnostic.<RunInternalAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at GitCredentialManager.Diagnostics.Diagnostic.<RunAsync>d__6.MoveNext()
Log:
Using 'https://github.com/' as API target.
Querying '/meta' endpoint...