Bitbucket/Github: 权限被拒绝 public 密钥
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.
即使通过生成一个添加 public 密钥,我也无法解决这个问题。
虽然我可以使用他的 https
方法进行克隆,但是在进行更改之后,在我尝试推送代码时出现了同样的错误。
请为此提出一个答案。
检查一些东西。
生成的新密钥是否是您的 ssh 代理在尝试通过 ssh 连接到服务器时使用的密钥。
(您的 ssh 代理使用的密钥可能与您生成的密钥不同)
使用它来列出代理当前加载的密钥。
ssh-add -L
您已将 public 密钥正确添加到存储库托管位置。
上面1和2对应的key应该是匹配的
请看这篇文章:GitHub: Generating SSH Keys。当你 运行:
时会发生什么
ssh -T git@bitbucket.org
?
您可能添加了错误的身份验证密钥。
首先,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'
最后,重新启动命令行以确保重新加载配置。
现在,您应该能够克隆并推送 from/to 您的 github 存储库。
有关这方面的更多信息,请参阅此 github page or this bitbucket page。
尝试使用 Git 克隆、推送或拉取 SSH 时,如果 Bitbucket 无法使用您的 SSH 代理提供的密钥进行身份验证,您可能会收到其中一条消息。
以下是您可能会看到这些消息的最常见原因:
您在尝试连接时使用了 sudo
克隆、推送或拉取时不应使用 sudo,因为 ssh-agent 运行 在用户级别,而不是根级别。
您的 public 密钥未加载到 Bitbucket
要检查您的 public 密钥是否已加载到 Bitbucket 中,请执行以下操作:
在 Bitbucket 中,从左下角的头像中选择个人设置。
显示帐户设置页面。
单击 SSH 密钥。
SSH 密钥页面显示所有现有密钥的列表。
如果您没有列出任何密钥,可以按照我们的设置 SSH 密钥文档进行设置。
您的密钥未加载到您的 SSH 代理中
如果您的 SSH 代理不知道向 Bitbucket 提供密钥,连接将失败。如果您最近重新启动了系统,您可能 运行 遇到这个问题。
您可以参考这篇文章了解更多信息:
https://support.atlassian.com/bitbucket-cloud/docs/troubleshoot-ssh-issues/
我在本地创建另一个存储库时遇到了这个错误。我的 ssh-keys 已经设置好,我正在尝试通过 vs 代码推送代码。
当我像以前一样 git push
-ed 通过 git bash 时,问题得到了解决。
当我尝试克隆我已获得许可的 rails 应用程序存储库时,我遇到了这个问题。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
即使通过生成一个添加 public 密钥,我也无法解决这个问题。
虽然我可以使用他的 https
方法进行克隆,但是在进行更改之后,在我尝试推送代码时出现了同样的错误。
请为此提出一个答案。
检查一些东西。
生成的新密钥是否是您的 ssh 代理在尝试通过 ssh 连接到服务器时使用的密钥。 (您的 ssh 代理使用的密钥可能与您生成的密钥不同) 使用它来列出代理当前加载的密钥。
ssh-add -L
您已将 public 密钥正确添加到存储库托管位置。
上面1和2对应的key应该是匹配的
请看这篇文章:GitHub: Generating SSH Keys。当你 运行:
时会发生什么ssh -T git@bitbucket.org
?
您可能添加了错误的身份验证密钥。
首先,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'
最后,重新启动命令行以确保重新加载配置。
现在,您应该能够克隆并推送 from/to 您的 github 存储库。
有关这方面的更多信息,请参阅此 github page or this bitbucket page。
尝试使用 Git 克隆、推送或拉取 SSH 时,如果 Bitbucket 无法使用您的 SSH 代理提供的密钥进行身份验证,您可能会收到其中一条消息。
以下是您可能会看到这些消息的最常见原因:
您在尝试连接时使用了 sudo
克隆、推送或拉取时不应使用 sudo,因为 ssh-agent 运行 在用户级别,而不是根级别。
您的 public 密钥未加载到 Bitbucket
要检查您的 public 密钥是否已加载到 Bitbucket 中,请执行以下操作:
在 Bitbucket 中,从左下角的头像中选择个人设置。 显示帐户设置页面。
单击 SSH 密钥。 SSH 密钥页面显示所有现有密钥的列表。
如果您没有列出任何密钥,可以按照我们的设置 SSH 密钥文档进行设置。
您的密钥未加载到您的 SSH 代理中
如果您的 SSH 代理不知道向 Bitbucket 提供密钥,连接将失败。如果您最近重新启动了系统,您可能 运行 遇到这个问题。
您可以参考这篇文章了解更多信息: https://support.atlassian.com/bitbucket-cloud/docs/troubleshoot-ssh-issues/
我在本地创建另一个存储库时遇到了这个错误。我的 ssh-keys 已经设置好,我正在尝试通过 vs 代码推送代码。
当我像以前一样 git push
-ed 通过 git bash 时,问题得到了解决。