在Windows 10上使用Google Cloud SDK身份验证方法获取Git推送到Google Cloud Source Repository的权限被拒绝(公钥)

fcy6dtqo  于 2023-01-11  发布在  Git
关注(0)|答案(7)|浏览(210)

我正在尝试使用Google Cloud Source Repository作为远程存储库,我按照所有的步骤使用Google Cloud SDK身份验证方法进行了身份验证,该方法允许我不使用SSH密钥(正如他们所说)。
问题是:当我尝试git push --all google时,总是收到Permission denied (publickey) fatal: Could not read from remote repository.消息。
gcloud命令在我的Windows路径中(C:\Users\xxxxx\AppData\Local\Google\Cloud SDK\;),我的用户有足够的权限,因为我是Google Cloud中项目的所有者。
我知道这条消息通常是一个简单的SSH密钥问题,可以通过将我的公钥添加到项目中来解决,但是这个方法应该在没有SSH密钥的情况下工作,所以我想知道我做错了什么。
下面是我按照Google Cloud Source Repository程序所做的前2个命令:

gcloud init && git config --global credential.https://source.developers.google.com.helper gcloud.cmd
git remote add google ssh://username@gmail.com@source.developers.google.com:2022/p/my-website-project/r/my_website

这两个工作得很好。
也许有人能帮我找到解决办法。
谢谢你。

fcg9iug3

fcg9iug31#

我也有同样的问题。
这两个命令对我来说也很有效:

gcloud init && git config --global credential.https://source.developers.google.com.helper gcloud.cmd
git remote add google ssh://username@gmail.com@source.developers.google.com:2022/p/my-website-project/r/my_website

但这一招不管用:

git push --all google

我必须编辑**~/. ssh/config**文件才能让它工作。它解决了我的问题。我补充道:

Host source.developers.google.com
    HostName source.developers.google.com
    User username@gmail.com
    IdentityFile ~/.ssh/your_private_key_file_registered_for_the_source_repo

阅读有关**~/. ssh/config**文件here的详细信息

gywdnpxw

gywdnpxw2#

我遇到了同样的问题,我找到的解决方案都不起作用。原来谷歌云资源库不喜欢我的SSH密钥。(也许密钥太短了?)无论如何,我试着切换到ECDSA密钥,错误消失了。

ssh-keygen -t ecdsa -C "myuser@mygmailhost.com"

我不得不用~/.ssh/config中的新密钥替换我以前的密钥。

txu3uszq

txu3uszq3#

我在Linux(Mint/Ubuntu)上尝试将一个现有仓库的远程设置为Google Cloud Source Repos时遇到了同样的问题。这看起来像是你在尝试的。然而,这是由Expo CLI Quickstart生成的空git仓库,它根本没有文件或源代码历史记录。
我所做的是将Google Cloud Source Repos上现有的存储库克隆到我的计算机上,添加一个虚拟文件,提交并推送。这对我很有效,希望对你也有效。

8ljdwjyq

8ljdwjyq4#

有类似的问题,所以尝试了两件事:
1 -本主题中的建议
gcloud是否已初始化、创建并配置~/.ssh/config,但这并未解决问题。
2 -然后尝试了这里的建议,它起作用了...
如何解决使用Git时权限被拒绝(公钥)错误?

n7taea2i

n7taea2i5#

在我的案例中(非常不寻常),我的公司采用了Google Workspace,创建了一个新的Google Workspace帐户,与我原来的帐户同名(original@domain.com),然后将我原来帐户的名称改为[my name]%[company's domain].com@gtempaccount.com
由于GCP权限是与原来的账户关联的,现在这个账户名为[my name]%[company's domain].com@gtempaccount.com,我收到了Permission Denied错误消息。我在git config中定义的远程url使用了原来的email地址(original@domain.com),现在这个地址与一个新创建的Google Workspace账户关联,而这个账户没有权限访问Cloud Source Repo。

d4so4syb

d4so4syb6#

在浏览器中打开https://source.developers.google.com/new-password,登录并按照显示的说明操作,它在我的情况下起作用了。

mdfafbf1

mdfafbf17#

在OpenSSH目录中添加名为config(无文件扩展名,即无.txt扩展名)的文件(在Windows上,该文件应位于C:\Users\myusername\.ssh中),如下所示:

Host source.developers.google.com
    HostName source.developers.google.com
    User myemail@mydomain.com
    IdentityFile ~/.ssh/my-private-key-file

相关问题