gpt4 book ai didi

git - 无法通过 SSH 进入我的 Bitbucket 存储库 - conq : repository access denied

转载 作者:行者123 更新时间:2023-12-01 15:05:27 28 4
gpt4 key购买 nike

我已经遵循了一百万个关于此的指南,但我无法让它发挥作用。早些时候,我成功地通过 SSH 推送到我的私有(private) Bitbucket git 存储库,现在突然无法使用了。

我用新密码重新创建了 key ,将其添加到我的 Bitbucket 设置中,但它不起作用。

好的,这是我采取的步骤:

  1. 删除旧 key 对(project1 和 project1.pub)
  2. 使用此命令重新创建它 ssh-keygen -f ~/.ssh/project1 -C "project1"
  3. ~/.ssh 文件中为我的两个 Bitbucket 帐户创建了一个config,内容如下:

宿主项目1
主机名 bitbucket.org
身份文件 ~/.ssh/project1
主办项目2
主机名 bitbucket.org
身份文件 ~/.ssh/project2

  1. 抓取 project1.pub 的内容并在我的 Bitbucket 帐户中创建一个新的 SSH key 条目。
  2. 在我的 ~/.zshrc 插件列表中添加 ssh-agent,如下所示:plugins=(git ssh-agent) 并重新启动终端
  3. 执行了 ssh-add -l 并且只看到加载了 project2
  4. ssh-add ~/.ssh/project1,输入我的密码并成功,如下所示:

2048 SHA256:THESHA256/Users/myuser/.ssh/project2 (RSA)
2048 SHA256:THESHA256/Users/myuser/.ssh/project1 (RSA)

  1. 重新启动终端并执行 ssh-add -l 并列出两个条目
  2. 转到我的项目并执行 git push,它告诉我我没有权限。

当我执行 ssh -T git@bitbucket.com 时,它告诉我我已使用 project2 的用户名登录。

logged in as project2_user.

我的系统是 OS X 10.11.5

我永远无法在我的计算机上修复多个身份并且一直使用 HTTPS,但我需要使用 SSH 使一切更加安全,这也允许我的帐户进行双因素身份验证。因此,现在必须使用 SSH,但我不知道该怎么做。

P.S:我也为 project2 执行了创建身份的步骤,但我很确定它也不起作用。


我遵循的指南:

https://confluence.atlassian.com/bitbucket/configure-multiple-ssh-identities-for-gitbash-mac-osx-linux-271943168.html


编辑

project2 没有密码,而 project1 有!只是觉得这可能是相关的。

编辑 2

我执行了 ssh-add -D 以删除所有加载的 key ,然后添加了 project1 的 key ,输入密码并推送。有效。但是现在我的其他身份无法使用,因为它的 key 未加载。

为什么我的多重身份不起作用?

最佳答案

如果同一远程主机上的不同存储库需要使用不同的 SSH 身份,那么您必须使用 SSH 别名。

检查 remote.origin.url 在您的本地存储库中是否具有以下(或等效)值:

  • project1:git@bitbucket.org:accountX/project1.git
  • project2:git@bitbucket.org:accountY/project2.git

accountX 可以是您在 Bitbucket 上与您的第一个身份相关联的帐户(即 project1_user),或者是另一个已授予 project1_user 访问权限的帐户> 到他们的存储库 project1project2 也是如此。

现在,当 git 必须从您的本地存储库连接到远程存储库时,它首先必须连接到远程服务器,并且您的两个项目的后者都设置为 bitbucket.org .那么,git 是如何知道使用哪个 SSH 身份的呢?它选择与 bitbucket.org 关联的一些身份。

如下更新您的 remote.origin.url 设置:

  • project1:git@project1:accountX/project1.git
  • project2:git@project2:accountY/project2.git

然后,当 git 被告知连接到 git@project1 时,它将 project1 解析为 ~/.ssh/config 中的相应条目> 并使用其中指定的身份。 project2 也是如此。

关于git - 无法通过 SSH 进入我的 Bitbucket 存储库 - conq : repository access denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38038440/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com