git-credential-manager
git-credential-manager copied to clipboard
GCM on VS Code remote SSH linux box
Version
2.6.1+786ab03440ddc82e807a97c0e540f5247e44cec6
Operating system
Linux
OS version or distribution
Ubuntu 24.04.2 LTS
Git hosting provider(s)
Bitbucket Cloud
Other hosting provider
No response
(Azure DevOps only) What format is your remote URL?
None
Can you access the remote repository directly in the browser?
Yes, I can access the repository
Expected behavior
I am running a VS Code remote environment (SSH) to an ubuntu linux server. I have git credential helper installed on the linux machine. I run a simple git clone and I expect it should open up a browser to authenticate on my host machine, which would allow me to authenticate to Bitbucket in the browser and redirect the credentials to the remote machine, at least through a localhost port forward.
Is there a way to run git-credential-manager on a remote linux machine in vs code?
Actual behavior
It prompts me for an inline username/password and does not open the browser
Logs
Diagnose log at 2025-04-29T02:08:25Z
AppPath: /root/.dotnet/tools/git-credential-manager InstallDir: /root/.dotnet/tools/.store/git-credential-manager/2.6.1/git-credential-manager/2.6.1/tools/net8.0/any/ Version: 2.6.1+786ab03440ddc82e807a97c0e540f5247e44cec6
Diagnostic: Environment Skipped: False Success: True Exception: None Log: OSType: Linux OSVersion: Ubuntu 24.04.2 LTS Reading environment variables... OK Variables: PWD=/root LANG=C.UTF-8 DOTNET_BUNDLE_EXTRACT_BASE_DIR=/root/.cache/dotnet_bundle_extract LESSCLOSE=/usr/bin/lesspipe %s %s GIT_EXEC_PATH=/usr/lib/git-core SHLVL=1 PATH=/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/.dotnet/tools TERM=xterm-256color USER=root SHELL=/bin/bash LOGNAME=root _=/usr/bin/git MAIL=/var/mail/root LESSOPEN=| /usr/bin/lesspipe %s LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.avif=01;35:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:~=00;90:#=00;90:.bak=00;90:.crdownload=00;90:.dpkg-dist=00;90:.dpkg-new=00;90:.dpkg-old=00;90:.dpkg-tmp=00;90:.old=00;90:.orig=00;90:.part=00;90:.rej=00;90:.rpmnew=00;90:.rpmorig=00;90:.rpmsave=00;90:.swp=00;90:.tmp=00;90:.ucf-dist=00;90:.ucf-new=00;90:*.ucf-old=00;90: GPG_TTY=/dev/pts/1 HOME=/root XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop GIT_TRACE2_PARENT_SID=68782f59-e795-4d37-b3b7-ffcc927832db
Diagnostic: File system Skipped: False Success: True Exception: None Log: Temporary directory is '/tmp/'... Checking basic file I/O... Writing to temporary file '/tmp/a6064b44965616ae4d957015'... OK Reading from temporary file '/tmp/a6064b44965616ae4d957015'... OK Deleting temporary file '/tmp/a6064b44965616ae4d957015'... OK Testing IFileSystem instance... UserHomePath: /root UserDataDirectoryPath: /root/.gcm GetCurrentDirectory(): /root
Diagnostic: Networking Skipped: False Success: True Exception: None 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 OK Acquiring free TCP port... OK Testing local HTTP loopback connections... Creating new HTTP listener for http://localhost:35989/... OK Waiting for loopback connection... OK Writing response... OK Waiting for response data... OK Loopback connection data OK
Diagnostic: Git Skipped: False Success: True Exception: None Log: Getting Git version... OK Git version is '2.43.0' Locating current repository...Not inside a Git repository. OK Listing all Git configuration... OK Git configuration: file:/root/.gitconfig credential.credentialstore=gpg file:/root/.gitconfig credential.helper=cache --timeout 21600 file:/root/.gitconfig credential.helper=oauth
Diagnostic: Credential storage Skipped: False Success: True Exception: None Log: ICredentialStore instance is of type: CredentialStore Writing test credential... OK Reading test credential... OK Deleting test credential... OK
Diagnostic: Microsoft authentication (AAD/MSA) Skipped: False Success: True Exception: None Log: Broker is not enabled. Flow type is: Auto Gathering MSAL token cache data... OK CacheDirectory: /root/.local/.IdentityService Gathering MSAL token cache data... OK CacheDirectory: /root/.local/.IdentityService CacheFileName: msal.cache CacheFilePath: /root/.local/.IdentityService/msal.cache KeyringCollection: KeyringSchemaName: KeyringSecretLabel: KeyringAttribute1: (,) KeyringAttribute2: (,) Creating cache helper... OK Verifying MSAL token cache persistence... OK
Diagnostic: GitHub API Skipped: False Success: True Exception: None Log: Using 'https://github.com/' as API target. Querying '/meta' endpoint... OK