从Bitbucket Git Repos中提取时,Pageant中的多个SSH密钥导致失败

pcww981p  于 2023-02-02  发布在  Git
关注(0)|答案(1)|浏览(116)

我遇到了一个与here描述的问题非常相似的问题。不同之处在于我尝试使用Pageant而不是OpenSSH作为我的代理。我发现当我在Pageant中加载两个不同Bitbucket帐户的SSH密钥时,其中一个repos将始终运行Git命令,而另一个将失败。repo是否有效取决于哪个SSH密钥在Pageant密钥列表中排在第一位。
我所说的“fail”是指Git命令返回以下错误:

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
Forbidden
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Completed with errors, see above.

我不知道这是PuTTY/Pageant、SourceTree还是Bitbucket问题。我怀疑这是Bitbucket问题,因为我发现如果我从Bitbucket帐户A中删除密钥A,然后尝试在存储库B中获取,则命令将成功,即使密钥A和B都加载到Pageant中。换句话说,当密钥未附加到任何Bitbucket帐户时,那么Bitbucket似乎对此没有异议。
有没有人让选美工作的关键加载同时为多个比特桶回购?

g52tjvyc

g52tjvyc1#

我在这个博客中找到了一个对我有效的答案:craigtp.co.uk
对于您的第一个帐户和密钥,只需正常设置即可。
对于第二帐户,
1.开始PuTTY
1.在 * 主机名 * 中,键入真实的地址(例如github.com)
1.转到 * 连接〉SSH〉身份验证 * 并在 * 身份验证的私钥文件 * 下加载第二个私钥
1.转到 * 会话 *,在 * 保存的会话 * 中键入一个不带空格的名称,然后单击保存。这将是您的别名。
例如,如果您将别名命名为github-second,那么当您为第二个帐户克隆存储库时,请使用该别名。

git clone git@github-second:blah/blahblah.git

对于你所说的,看起来你已经在某个时间点克隆了仓库。在这种情况下,只需更新远程。
检查你现在的遥控器。它应该是这样的,

git remote -v
origin  git@github.com:blah/blahblah.git

然后,使用以下命令更新遥控器:

git remote set-url origin git@github-second:blah/blahblah.git

应该可以

相关问题