【问题标题】:Cannot deploy app to Heroku "Could not read from remote repository"无法将应用程序部署到 Heroku “无法从远程存储库中读取”
【发布时间】:2013-12-24 06:32:06
【问题描述】:

我目前正在学习 RUBY,并尝试完成 Michael Hartl 的法语版教程。

虽然我在教程的某些时候被阻止了。 我无法将我的应用程序部署到 heroku,并获得以下信息:

git push heroku master
权限被拒绝 (publicKey)
致命:无法从远程存储库中读取

虽然:

  • 我的 .ssh 文件夹中有两个 id_rsa 和 id_rsa.pub(在 Win7 中)
  • 看来我已成功将我的 Rails 应用程序远程到 github。存储库确实显示了应用文件。
  • 我已成功创建 Heroku 应用并在我的仪表板上看到它。

关于 SSH 密钥:

我已按照以下步骤将 publick SSH 密钥添加到 Github:https://help.github.com/articles/generating-ssh-keys

在部署 Heroku 应用程序(并向 Heroku 添加密钥)时,我还完成了以下操作:https://devcenter.heroku.com/articles/git

虽然我仍然收到此消息。

【问题讨论】:

    标签: ruby-on-rails git heroku github ssh-keys


    【解决方案1】:

    您可能使用不匹配的 SSH 密钥进行部署,您尚未将密钥部署到 Heroku。根据the documentation

    常见的密钥错误是:Permission denied (publickey)。您可以使用 keys:add 来解决此问题,以通知 Heroku 您的新密钥。

    通过将密钥推送到 Heroku 来解决此错误:

    # Using the Heroku CLI Toolbelt (https://devcenter.heroku.com/articles/heroku-command)
    heroku keys:add
    

    如果可能,您需要在系统上保留一组 SSH 密钥,这样就不会混淆您使用哪些密钥进行部署。

    【讨论】:

    • 为了确保一切正常,我已经从 Git bash 重置了我的 SSH 密钥: ssh-keygen -t rsa ,然后将 pub 密钥从文件复制到我的 github 帐户密钥选项卡。我已经从命令提示符将密钥添加回 heroku:Heroku keys:add ,这给了我复制密钥的成功结果。还是一样的问题
    • 然而,当在 git bash 中运行以下命令时: ssh -vT git@github.com 我得到以下选定的行: debug1: identity file /c/Users/Maxence/.ssh/identity type - 1 debug1:身份文件/c/Users/Maxence/.ssh/id_rsa type 1 debug1:身份文件/c/Users/Maxence/.ssh/id_dsa type -1
    • .ssh 目录中有多少个 SSH 密钥?您可以发布整个目录的内容吗? Heroku 对多个键非常挑剔 - 因此,许多用户最终通过删除除一个之外的所有键来解决此问题。
    • 我只有3个文件:id_rsa (type:File), id_rsa (type: PUB File), known_hosts (Type:File)
    • 从 CLI 发出 heroku keys:clear,然后发出 heroku keys:add 是否有效?
    猜你喜欢
    • 1970-01-01
    • 2014-05-04
    • 2014-07-27
    • 2018-03-06
    • 2013-04-13
    • 2015-10-25
    • 2020-11-03
    相关资源
    最近更新 更多