【问题标题】:Permission denied (publickey) when clone git repo from bitbucket从 bitbucket 克隆 git repo 时权限被拒绝(公钥)
【发布时间】:2017-10-30 09:34:45
【问题描述】:

我刚刚在 bitbucket 上创建了 git repo。然后我按照以下方式创建 ssh 密钥:

   1. ssh-keygen -t rsa -C 'dien.vo@asnet.com.vn'
   2. ssh-keygen (press enter more)
   3. cat ~/.ssh/id_rsa.pub --> it return for me a SSH key
   4. Coppy that and added on bitbucket, then I save the new SSH key

之后我选择了 SSH 链接 git,如 git@bitbucket.org:DienVo/abc.git,但在终端中显示

sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).
fatal: Could not read from remote repository.

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

我不知道我这里出了什么问题,请帮我解决它。

【问题讨论】:

  • 另一种方法是克隆 repo HTTPS 方式

标签: git bitbucket ssh-keys


【解决方案1】:

您的 ssh 代理可能无法正常工作:

eval `ssh-agent -s` 
ssh-add

但是,如果您生成了一个受密码保护的 ssh 密钥,您只需要一个代理。
如果没有,您的 ssh 密钥将开箱即用。

在 Linux 上,检查 gnome-keyring which can interfere

如果问题仍然存在,请使用ssh -Tv git@bitbucket.org 进行调试

【讨论】:

  • 好吧@VonC,你的建议部分解决了我的问题,但是在执行 git pull 时,我还是会提示输入密码。即使 ssh -Tv git@bitbucket.org 和 ssh -T git@bitbucket.org 告诉我“您可以使用 git 或 hg 连接到 Bitbucket。Shell 访问被禁用。”。我真的不明白:S
  • @CarlosAlbertoMartínezGadea ssh -T git@bitbucket.org 是否显示“欢迎”消息? git remote -v 返回什么?您实际上是从 bitbucket 中提取数据吗?
  • 是的,ssh -T git@bitbucket.org 显示一条欢迎消息,表示我已登录。创建 SSH 密钥的相同过程在我的 Macbook Air 上运行。我正在从 Bitbucket 中提取信息。与 ssh -T git@bitbucket.org 一起出现在欢迎消息中的同一用户出现在 git remote -v 指向我的 BitBucket 存储库的结果中。我有点失落:S
  • @CarlosAlbertoMartínezGadea “git remote -v 确实在远程 URL 上返回 https。为什么这是个问题?” :这是一个问题,因为 https 意味着您的所有 SSH 设置都没有任何意义。它仍然需要您的远程用户帐户名/密码,这与 SSH 无关。您可以考虑使用凭证助手,例如在 Linux 上的 libsecret(stackoverflow.com/a/48237790/6309stackoverflow.com/a/42285250/6309
  • 我会看看这些链接。感谢大家的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2020-12-30
  • 2021-08-25
  • 2018-03-11
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多