This page shows you how to resolve issues with Secure Source Manager.
Error message when creating a repository
The following error appears when you try to create a repository:
There was an error while loading /repo/create. Try refreshing the page.
This issue occurs when:
- The Secure Source Manager API isn't enabled in your project.
- You don't have the Repo Admin role on your project or permissions to create repositories in the Secure Source Manager instance.
To resolve this issue:
- Enable the Secure Source Manager API in your project.
- Ask your administrator to grant you the following roles:
- Repo Admin (
roles/securesourcemanager.repoAdmin) role on your project. - Instance Accessor (
roles/securesourcemanager.instanceAccessor) on the Secure Source Manager instance. - Instance Repository Creator
(
roles/securesourcemanager.instanceRepositoryCreator) on the Secure Source Manager instance.
- Repo Admin (
See Access control with IAM for more details.
Error message when cloning a repository on a Mac
The following error appears when you try to clone a repository:
git: 'credential-gcloud.sh' is not a git command. See 'git --help'. fatal: Authentication failed for [repo-url]
This issue occurs when:
- gcloud CLI is installed using Homebrew or other non-standard installation.
git-credential-gcloud.shis not added to your PATH.
To resolve this issue:
- Run
source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc Check that
git-credential-gcloud.shis in your path by running the following command:which git-credential-gcloud.sh
SSH connection fails with "no matching" error
When attempting Git operations over SSH, you might receive one of the following error messages:
Unable to negotiate with <host> port <port>: no matching key exchange method found.Unable to negotiate with <host> port <port>: no matching cipher found.Unable to negotiate with <host> port <port>: no matching MAC found.
This issue occurs when your SSH client does not support the cryptographic algorithms required by Secure Source Manager. This can happen if you are using an older SSH client or if your client is not configured to use supported algorithms.
Secure Source Manager requires one of the following algorithms:
- Key Exchange Algorithms:
curve25519-sha256,diffie-hellman-group14-sha256 - Ciphers:
chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com - MACs:
hmac-sha2-256-etm@openssh.com,hmac-sha2-256
To resolve this issue, update your SSH client to a recent version that supports these algorithms.
Git HTTPS requests fail with permission denied or unauthorized error
When Git commands are attempted over HTTPS, a permission denied or unauthorized error message is given.
This issue occurs when one of the following occurs:
- The global Git config file is missing the Secure Source Manager authentication helper.
- Git's built-in credential store is being used instead of calling the Secure Source Manager authentication helper to get a fresh credential.
- A system credential helper is being used instead of calling the Secure Source Manager authentication helper to get a fresh credential.
- An older version of Google Cloud CLI is used when interacting with Secure Source Manager repositories using HTTPS. Secure Source Manager requires Google Cloud CLI version 395.0.0 or newer.
To resolve this issue:
Run the following command to determine the contents of your global Git config.
git config --list | grep credentialIf you see any line similar to
*credential*.helper=storeon macOS, orcredential.helper = manageron Windows OS, then remove those lines, and then re-authenticate usinggcloud auth loginbefore trying the Git command again.If the response doesn't include
credential.https://*.*.sourcemanager.dev.helper=gcloud.shon macOS or Linux, orcredential.https://*.*.sourcemanager.dev.helper=gcloud.cmdon Windows, then add the Secure Source Manager authentication helper to your global Git config:Linux
To add the Secure Source Manager authentication helper to your global Git config, run the following command:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.shValidate that the authentication helper line is added to your global Git config by running the following command:
git config --list | grep credentialThe output should include
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.Authenticate by running
gcloud auth login.Run a Git command to test the authentication.
Windows
- Check your gcloud CLI version by following the Install Git and Google Cloud CLI instructions.
To add the Secure Source Manager authentication helper to your global Git config, run the following command:
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmdValidate that the authentication helper line is added to your global Git config by running the following command:
git config --list | grep credentialThe output should include
credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.Authenticate by running
gcloud auth login.Run a Git command to test the authentication.
If you previously set the credential for your Git host to be
gcloud.sh, but get an error like'credential-gcloud.sh' is not a git command, it indicates that Git is not able to find thegit-credential-gcloud.shscript in thePATHfor your machine. Update yourPATHor replace thegcloud.shin your gitconfig file with the absolute path instead.
Git HTTPS requests fail with invalid token
A valid OAuth token is required as the password for Git HTTPS operations. This is normally handled by Git credential helper, but it can also work with OAuth tokens generated using other approaches (for example, application default credentials).
If a Git request is rejected due to an invalid token, it normally means user information couldn't be extracted from the incoming token, there are multiple possible causes of this error: