Reputation: 412
I'm trying to use Google Cloud Source Repository as a remote repository. I followed all the procedures to authenticate with the Google Cloud SDK authentication method that allows me to not use SSH keys (as they say).
The problem is: I always get Permission denied (publickey) fatal: Could not read from remote repository.
message when I try git push --all google
.
The gcloud
command is in my Windows PATH (C:\Users\xxxxx\AppData\Local\Google\Cloud SDK\
;) and my user has enough permission as I'm the owner of the project in Google Cloud.
I know this message is usually a simple SSH key problem that can be resolved by adding my public key to the project, but this method is supposed to work without ssh keys, so I would like to learn what I am doing wrong.
Here the 2 first commands I made following the Google Cloud Source Repository procedure:
gcloud init && git config --global credential.https://source.developers.google.com.helper gcloud.cmd
git remote add google ssh://[email protected]@source.developers.google.com:2022/p/my-website-project/r/my_website
These 2 worked well.
Maybe someone could help me to find what to do to fix that.
Thank you.
Upvotes: 26
Views: 16670
Reputation: 1
this :
git remote add google ssh://[email protected]@source.developers.google.com:2022/p/my-website-project/r/my_website
should be this :
git remote add google https://source.developers.google.com/p/[PROJECT_NAME]/r/[REPO_NAME]
Upvotes: 0
Reputation: 18595
Add a file named config
(no file extension, i.e. no .txt
extension) in OpenSSH directory (on Windows it should be in C:\Users\myusername\.ssh
) with the following:
Host source.developers.google.com
HostName source.developers.google.com
User [email protected]
IdentityFile ~/.ssh/my-private-key-file
Upvotes: 0
Reputation: 21
Open https://source.developers.google.com/new-password
in the browser, log in and follow the instructions displayed. It worked in my case.
Upvotes: 2
Reputation: 784
In my (highly unusual) case, my company adopted Google Workspace. This created a new Google Workspace account with the same name as my original account ([email protected]
) and then changed the name of my original account to [my name]%[company's domain][email protected]
.
Since the GCP permissions were associated with the original account, now named [my name]%[company's domain][email protected]
, I got the Permission Denied error. The remote url defined in my git config used the original email ([email protected]
), now associated with a newly created Google Workspace account, and that account did not have permissions to access the Cloud Source Repo.
Upvotes: 0
Reputation: 17051
I had the same problem and none of the solutions I found worked. It turns out Google Cloud Source Repositories didn't like my SSH key. (Maybe the key was too short?) Anyway I tried switching to a ECDSA key and the error went away.
ssh-keygen -t ecdsa -C "[email protected]"
I had to replace my previous key with the new one in ~/.ssh/config too.
Upvotes: 12
Reputation: 79
Having similar issues so tried two things:
1 - suggestion in this topic
Did gcloud init and created and configured ~/.ssh/config but this did not solve the issue.
2 - Then tried the suggestion here and it worked...
How to solve Permission denied (publickey) error when using Git?
Upvotes: 0
Reputation: 800
I had the same problem.
These two commands worked well for me too:
gcloud init && git config --global credential.https://source.developers.google.com.helper gcloud.cmd
git remote add google ssh://[email protected]@source.developers.google.com:2022/p/my-website-project/r/my_website
But this one didn't work:
git push --all google
I had to edit ~/.ssh/config file to make it work. It solved my problem. I added:
Host source.developers.google.com
HostName source.developers.google.com
User [email protected]
IdentityFile ~/.ssh/your_private_key_file_registered_for_the_source_repo
Read more about ~/.ssh/config file here
Upvotes: 14
Reputation: 121
I have the same issue on Linux (Mint/Ubuntu) when I was trying to set the remote of an existing repository to Google Cloud Source Repos. This is what it looks like you are attempting. However, this was the empty git repository generated by Expo CLI Quickstart, which had no files or source history at all.
What I did instead was clone the existing repository on Google Cloud Source Repos to my computer, add a dummy file, commit it and push. That worked for me. Hopefully it works for you.
Upvotes: 1