繁体   English   中英

Bitbucket/Github:权限被拒绝公钥

[英]Bitbucket/Github: permission denied public key

当我尝试克隆我已获得许可的 Rails 应用程序回购时,我遇到了这个问题。

Permission denied (publickey).
fatal: Could not read from remote repository.

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

即使在通过生成一个添加公钥之后,我也无法解决这个问题。

虽然我可以使用他https方法进行克隆,但在进行更改后,在我尝试推送代码时会出现相同的错误。

请为此提出一个答案。

当尝试使用 Git 克隆、推送或拉取 SSH 时,如果 Bitbucket 无法使用您的 SSH 代理提供的密钥进行身份验证,您可能会收到以下消息之一。

以下是您可能会看到这些消息的最常见原因:

您在尝试连接时使用了 sudo

克隆、推送或拉取时不应使用 sudo,因为 ssh-agent 在用户级别而不是根级别运行。

您的公钥未加载到 Bitbucket

要检查您的公钥是否已加载到 Bitbucket,请执行以下操作:

来自 Bitbucket,从左下角的头像中选择个人设置。 显示帐户设置页面。

单击 SSH 键。 SSH 密钥页面显示了所有现有密钥的列表。

如果您没有列出任何密钥,可以按照我们的设置 SSH 密钥文档进行设置。

您的密钥未加载到您的 SSH 代理中

如果您的 SSH 代理不知道向 Bitbucket 提供密钥,则连接失败。 如果您最近重新启动了系统,则可能会遇到此问题。

您可以参考这篇文章了解更多信息: https://support.atlassian.com/bitbucket-cloud/docs/troubleshoot-ssh-issues/

首先cd进入.ssh目录。 打开终端并运行:

cd ~/.ssh && ssh-keygen

其次 ,您需要将其复制到剪贴板:

 cat id_rsa.pub | pbcopy # On OSX
 cat id_rsa.pub | xclip # On Linux

第三 ,通过github / bitbucket网站将新生成的ssh密钥添加到您的帐户(只需粘贴)。

接下来 ,设置你的git配置:

git config --global user.name 'your_user_name'
git config --global user.email 'your_email'

最后 ,重新启动命令行以确保重新加载配置。

现在 ,您应该能够克隆并从/向您的github存储库推送。

有关此内容的更多信息,请参阅此github页面或此bitbucket页面

检查几件事。

  1. 生成的新密钥是您的ssh代理在尝试ssh到服务器时使用的密钥。 (您的ssh代理可能使用与您生成的密钥不同的密钥)使用此密钥按代理列出当前加载的密钥。

    ssh-add -L

  2. 您正确地将公钥添加到您的存储库托管位置。

对应于上面1和2的键应该匹配。

请参阅此文章: GitHub:生成SSH密钥 运行时会发生什么:

ssh -T git@bitbucket.org

您可能添加了错误的密钥以进行身份​​验证。

我在本地创建另一个存储库时遇到此错误。 我的 ssh-keys 已经设置好了,我正试图通过 vs code 推送代码。 当我像以前一样通过 git git push git bash 时,问题得到解决。

对于位桶,我想我已经尝试了 ssh 的所有内容。我也尝试了这个 stackoverflow 问题的答案。 但它不起作用。 所以最后我只是将克隆命令从 SSH 更改为 HTTPS 并且它起作用了。 直到那时它才要求我的帐户密码。
在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM