git push heroku master Permission denied(publickey)

时间:2013-02-05 17:56:58

标签: heroku

编辑#3

在顶部更新,因为它解决了我的问题并给了我一个很好的故障排除步骤,我不知道(也可以节省你一些时间)

尝试获取ssh -vvv git@heroku.com的输出。对我来说,当我的公钥在/c/Users/NumberOverZero/.ssh

时,ssh在/ c / Program Files(x86)/Emacs/.ssh中尝试按键时挂了

删除Emacs ssh文件夹(为空)修复了我的问题,因为ssh会检查我的Users .ssh文件夹。


我在尝试Permission denied (publickey)时收到git push heroku master

有些事情与以下帖子有所不同:

  • 我有为github工作的ssh
  • 昨晚我成功地推进了heroku
  • 自推动以来,我对一个js文件进行了单行更改,并提交并推送。没有其他变化。

我能找到的最接近的是这篇文章:

git clone heroku ssh permission denied

我已经查看了相关问题(有很多):

git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly
git push heroku master permission denied
git clone heroku ssh permission denied
https://stackoverflow.com/questions/13059076/git-push-permission-denied-publickey-windows-xp
heroku - rails - Permission denied (publickey)

我试过了:

  1. heroku keys:clear
    heroku keys:add
    
  2. heroku keys:clear
    *delete every key in .ssh*
    heroku keys:add
    
  3. *delete my application on heroku*
    heroku keys:clear        
    heroku login (adds key for me)
    heroku create
    git push heroku master
    fails
    
  4. *delete the app on heroku*
    delete keys in .ssh
    heroku keys:clear
    copy all files into a new repository
    push new repository to github successfully
    heroku login (adds github key for me)
    heroku create
    git push heroku master
    fails
    
  5. *delete the app on heroku*
    heroku keys:clear
    heroku login (adds key for me)
    heroku create
    heroku git:clone app app
    fails
    
  6. 有什么想法吗?我已经完成了链接SO中的所有步骤 - 其中大多数只是没有运行heroku的人:添加或设置ssh密钥(我已经在每个中完成了)。

    我让heroku大部分时间都在使用轮子(而不是直接创建ssh键),假设内置命令在没有ssh键时会执行所需的操作。似乎没有。

    编辑:现在我删除了应用程序,新的文件插件令人震惊,网站已关闭。尝试通过他们的网站登录要求我通过heroku登录。由于应用程序已经消失,我无法找到办法。有没有办法删除该插件,因为我无法访问该应用程序? heroku addons给出错误,所以我认为我没有通过那里得到它。

    编辑#2 :添加了我尝试的另一个步骤 - 将文件移动到新存储库并推送到新应用程序。

3 个答案:

答案 0 :(得分:9)

我遇到了与Windows 7相同的问题,并在此处找到了解决方案: http://www.gmarwaha.com/blog/2011/05/18/heroku-trouble-with-windows-and-ssh-keys/

  

解决方案:通常,如上所述创建密钥后,两个文件 - “id_rsa”和“id_rsa.pub” - 将存储在“.ssh”文件夹中   在用户的主文件夹中。如果你正在使用linux那   似乎很好。但对于Windows版本的git而言   似乎没有削减它。 它希望将密钥存储在内部   “msysgit”安装文件夹中的“.ssh”文件夹 。如果你   在“msysgit”安装文件夹中找不到“.ssh”文件夹,   随意创建一个。一旦你删除这两个密钥文件和   重复整个过程,一切顺利而且我的   应用程序部署在heroku云中,世界又是一个   更好的居住地。

就我而言,我必须找到git.exe的安装位置,即C:\Program Files\Git\。以下是步骤:

  1. .ssh
  2. 中创建C:\Program Files\Git\文件夹
  3. id_rsaid_rsa.pub从您的主文件夹(C:\Users\username\.ssh\)复制到C:\Program Files\Git\.ssh\
  4. 使用C:\dev\heroku\sample-app> git push heroku master再次尝试。

答案 1 :(得分:3)

很好的工作链接到你看过的所有其他东西并尝试过! (这会改善你得到的反应,但你仍然应该为很多'你试过......'和'也许是......'做好准备,因为这是一个系统/环境问题,而不是正常流量)

您可能在本地终端会话中有一些工作已经丢失。 (我已经发生了很多次)

它可能是:

  1. 你在heroku上的ssh键
  2. 你从该计算机/网络上升到heroku的能力
  3. 关于你的git repo的事情
  4. 我遇到过这一次,这让我发疯了。我跳上了我的(免费)cloud9帐户,从github克隆了一些简单的rails应用程序并将其推送到heroku,这帮助我证明我的heroku帐户很好,heroku本身很好,但我的本地笔记本电脑在我的配置中有一些问题。 我认为问题是我的用户名,但我不记得了。 (转向不同的环境并从头开始帮助我实现了这个问题)

答案 2 :(得分:0)

您收到此消息的主要原因是您没有将ssh-keygen添加到您的环境变量中。

该命令位于Git程序文件的bin目录中。

您应该将bin目录添加到环境变量中。