【问题标题】:Git: permission denied using SSH keyGit:使用SSH密钥拒绝权限
【发布时间】:2020-03-27 17:39:14
【问题描述】:

我正在使用 ssh 密钥开发 github 存储库。我确实克隆了存储库并将一些更改上传到存储库,但是当我第二次尝试上传更改时,我确实遇到了一个错误:

sign_and_send_pubkey:签名失败:代理拒绝操作

git@github.com:权限被拒绝(公钥)。

致命:无法从远程存储库读取。

我之后做的是删除 ssh 密钥并上传一个新密钥,但错误仍然存​​在,我尝试在服务器上没有密钥的情况下上传它,但它不起作用。如何将更改的内容上传到同一个仓库?

【问题讨论】:

  • 也许你搞砸了这个克隆配置,你是否尝试再次克隆项目并检查它是否使用新密钥?
  • 是的,我确实使用新密钥进行了检查,但它输出了相同的错误 [仅错误的第 2 行和第 3 行]。
  • git remote -v 的输出是什么?当你git push你的更改时,你可以改为执行GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push ....吗?这应该会给你更多的输出
  • @chelmertz git remote -v 返回 repo 的 git url。但是 git push 打印出一些数字和同样的错误。

标签: git github


【解决方案1】:

尝试只执行以下步骤,不要进行我没有提到的任何额外操作:

  1. 删除您在 github 上的所有 SSH 密钥(可能没有必要,但如果您的所有密钥只是解决问题的其他尝试,请删除它们)
  2. 在 git bash 中运行命令 ssh-keygen(不需要额外的参数),然后一直按 enter 直到完成。
  3. ~/.ssh/id_rsa.pub 复制公钥(文件的全部内容)。
  4. 在 github 中添加新的 SSH 密钥并粘贴刚刚复制的公钥。
  5. 在您的计算机中以新路径再次克隆您的存储库。

如果还是不行,在git bash中运行:

ssh-add ~/.ssh/id_rsa  

然后再次重复第 5 阶段。

【讨论】:

  • 我把它们都删除了,我按照所有步骤都没有运气。我无法克隆该存储库。这是为什么呢?
  • 我在你回答之前试过这个,我确实创建了一个新的存储库。我试图克隆它。但错误仍然发生。我删除了所有密钥,因此我可以使用帐户密码从 git 尝试,但效果不佳。
  • 假设你已经如上所述在github中设置了公钥,尝试运行ssh-add ~/.ssh/id_rsa,然后再次尝试仅克隆(步骤5)
  • 太棒了!我更新了答案,现在你可以批准了:)
猜你喜欢
  • 2016-10-15
  • 2012-10-19
  • 2023-03-24
  • 2020-07-02
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多