【问题标题】:git push heroku master permission denied on VISTAgit push heroku master 权限在 VISTA 上被拒绝
【发布时间】:2010-12-21 22:31:19
【问题描述】:

(使用 Vista)我正在尝试从我的 GitHub 存储库中克隆一个应用程序并将其推送到 Heroku。好的,所以我已经尝试过多次创建 SSH 密钥:

 `ssh-keygen -t rsa` 

似乎很顺利。我在我的 C:/Users/***/.ssh 文件夹中有它。我现在尝试克隆我在 GitHub 中分叉的应用程序。当我尝试在 rails_apps 目录中克隆它时,我收到一条消息说

 Permission Denied(public key). 

我在网上找到了一个解决方案,说我应该先运行这个:

`ssh-add` 

所以我尝试这样做。但它说:

无法打开与您的身份验证代理的连接。

经过一番谷歌搜索后,我发现了一些关于执行 ssh-agent 的信息。所以我这样做:

`ssh-agent bash`

命令行从我的 rails_apps 目录更改为:

`bash3.1$>`

所以我跑了:

`bash3.1$>ssh-add [path to .ssh folder]`

它成功添加了 rsa 私钥(它不适用于 id-rsa.pub)。我还将新生成的公钥粘贴到我的 GitHub 帐户中。

现在当我尝试克隆时:

`bash3.1$>git clone git@github.com:username/myrepo.git`

它现在成功地克隆了我在 GitHub 中创建的 repo。现在我的本地存储库中有应用程序,我尝试创建一个 heroku 应用程序。

`bash3.1$>cd myrepo`  
`bash3.1$>heroku create myapp`

并且这段代码运行成功。 Git远程添加成功。现在我要做的就是推动它。

`bash3.1$>git push heroku master`

砰!我再次收到错误消息。

Permission denied (public key)

我非常接近将我的应用程序推送到 heroku。但它只是行不通。你能帮助我吗。我在这里做错了什么?谢谢! :D

【问题讨论】:

  • 你的克隆仓库中显示的git remote -v show 命令是什么?

标签: git ssh github heroku public-key


【解决方案1】:

您可以先在 heroku 中提供 Enail 和 Password 登录,然后可以按照以下步骤将本地 git 存储库添加到 heroku 应用程序实例中。

  1. 在 Git Bash $ ssh-keygen -t rsa 中发出此命令(默认位置和空密码。您也可以使用其他选项)。
  2. bash $ heroku keys:add 再次出现问题(它将自动从默认位置添加公钥)。
  3. 在 bash 上发出此文件以检查密钥。 $ heroku 键。
  4. 您可以为您的应用名称添加遥控​​器 $ heroku git:remote -a app_name
  5. 现在您可以使用此命令将 git repo 推送到 heroku 了 $ heroku push origin master

【讨论】:

    【解决方案2】:

    注意:你的ticket on GitHub Support提示了答案:

    你需要给 heroku 你的密钥。应该有一个命令来做到这一点。如果找不到,您必须联系他们的支持人员。

    为此,请参阅 Graeme Collinsanswer(以及 Heroku error: "Permission denied (public key)"):

    heroku keys:add ~/.ssh/id_rsa.pub
    

    有关该过程的更多信息,请参阅Heroku devcenter
    然后您可以看到所有键的列表,包括键的名称,如下所示:

    heroku keys
    

    注意:假设您没有使用 sudo 生成密钥,如“git clone heroku ssh permission denied”所示(heroku keys:add 不起作用)


    在您的其他 GitHub Support ticket 中了解有关您的 ssh 密钥的更多信息。

    debug1: Trying private key: /.ssh/identity
    debug1: Trying private key: /.ssh/id_rsa
    debug1: Trying private key: /.ssh/id_dsa
    

    我不确定为什么它会查看 /.ssh 而不是 ~/.ssh
    尝试将您的密钥对移至该路径。


    不应该是这样的:

     git push origin master
    

    ?默认情况下,对克隆的 repo 的引用称为“origin”,而不是“heroku”

    做什么

    git remote -v show
    

    显示?

    如果你想要,你可以通过 heroku 名称引用远程仓库

    git remote add heroku git@github.com:git_username/projectname.git
    

    【讨论】:

    • 谢谢冯。我试过你所说的将heroku更改为原点。它也没有奏效。我试过你说的命令。现在当我git push heroku master 它说一切都是最新的但是该应用程序仍然不在heroku上。我不确定发生了什么。
    【解决方案3】:

    以下行为我解决了这个问题。

    heroku accounts:set youraccount
    

    【讨论】:

      【解决方案4】:

      我遇到了类似的问题。 运行以下命令为我修复了它:

      heroku keys:add ~/.ssh/id_rsa.pub

      用您的 id_rsa.pub 文件的路径替换“~/.ssh/id_rsa.pub”。

      【讨论】:

      猜你喜欢
      • 2012-12-29
      • 2013-01-20
      • 2013-04-29
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多