git-credential-manager icon indicating copy to clipboard operation
git-credential-manager copied to clipboard

GCM on VS Code remote SSH linux box

Open neilhunt1 opened this issue 7 months ago • 1 comments

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

neilhunt1 avatar Apr 29 '25 02:04 neilhunt1