2

我在项目中有一个源存储库设置。我有我的主要管理员用户,我创建了第二个用户(最初尝试了一个服务帐户),并为该用户提供了对具有源代码库的项目的“项目所有者”访问权限。

我通过运行在本地机器上创建了一个 SSH 密钥:ssh-keygen -t rsa -P "" -C "user@domain.com" -f "mysshfile"

我在 .ssh 文件夹中创建了一个配置文件:

Host source.developers.google.com
 HostName source.developers.google.com
 Port 2022
 IdentityFile /Users/XXXXX/.ssh/mysshfile

我复制了 mysshfile.pub 的内容并将其注册到 Cloud repo SSH 密钥。

当 git clone 作为我的第二个用户时,它失败并显示错误消息:Permission denied (publickey)。当我 git clone 作为我的主要管理员用户时,它可以工作。

所以我运行 ssh 命令详细检查:ssh -p 2022 -l admin@domain.com -v source.developers.google.com,我得到:

...........

debug1: Offering public key: /Users/xxxxxx/.ssh/mysshfile RSA SHA256:U+XREDACTED explicit
debug1: Server accepts key: /Users/xxxxxx/.ssh/mysshfile RSA SHA256:U+XREDACTED explicit
debug1: Authentication succeeded (publickey).
Authenticated to source.developers.google.com ([74.125.197.82]:2022).

当我运行与测试用户相同的命令时:ssh -p 2022 -l test@domain.com -v source.developers.google.com,我得到:

debug1: Offering public key: /Users/xxxxxxx/.ssh/mysshfile RSA SHA256:U+XJREDACTED explicit
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
test@domain@source.developers.google.com: Permission denied (publickey).

我不明白为什么使用 ssh 的 git clone 适用于一个用户(我什至不想要的那个)而不是另一个?

4

0 回答 0