在顶部更新,因为它解决了我的问题并给了我一个很好的故障排除步骤,我不知道(也可以节省你一些时间)
尝试获取ssh -vvv git@heroku.com
的输出。对我来说,当我的公钥在/c/Users/NumberOverZero/.ssh
删除Emacs ssh文件夹(为空)修复了我的问题,因为ssh会检查我的Users .ssh文件夹。
我在尝试Permission denied (publickey)
时收到git push heroku master
。
有些事情与以下帖子有所不同:
我能找到的最接近的是这篇文章:
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)
我试过了:
heroku keys:clear
heroku keys:add
heroku keys:clear
*delete every key in .ssh*
heroku keys:add
*delete my application on heroku*
heroku keys:clear
heroku login (adds key for me)
heroku create
git push heroku master
fails
*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
*delete the app on heroku*
heroku keys:clear
heroku login (adds key for me)
heroku create
heroku git:clone app app
fails
有什么想法吗?我已经完成了链接SO中的所有步骤 - 其中大多数只是没有运行heroku的人:添加或设置ssh密钥(我已经在每个中完成了)。
我让heroku大部分时间都在使用轮子(而不是直接创建ssh键),假设内置命令在没有ssh键时会执行所需的操作。似乎没有。
编辑:现在我删除了应用程序,新的文件插件令人震惊,网站已关闭。尝试通过他们的网站登录要求我通过heroku登录。由于应用程序已经消失,我无法找到办法。有没有办法删除该插件,因为我无法访问该应用程序? heroku addons
给出错误,所以我认为我没有通过那里得到它。
编辑#2 :添加了我尝试的另一个步骤 - 将文件移动到新存储库并推送到新应用程序。
答案 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\
。以下是步骤:
.ssh
C:\Program Files\Git\
文件夹
id_rsa
和id_rsa.pub
从您的主文件夹(C:\Users\username\.ssh\
)复制到C:\Program Files\Git\.ssh\
。C:\dev\heroku\sample-app> git push heroku master
再次尝试。答案 1 :(得分:3)
很好的工作链接到你看过的所有其他东西并尝试过! (这会改善你得到的反应,但你仍然应该为很多'你试过......'和'也许是......'做好准备,因为这是一个系统/环境问题,而不是正常流量)
您可能在本地终端会话中有一些工作已经丢失。 (我已经发生了很多次)
它可能是:
我遇到过这一次,这让我发疯了。我跳上了我的(免费)cloud9帐户,从github克隆了一些简单的rails应用程序并将其推送到heroku,这帮助我证明我的heroku帐户很好,heroku本身很好,但我的本地笔记本电脑在我的配置中有一些问题。 我认为问题是我的用户名,但我不记得了。 (转向不同的环境并从头开始帮助我实现了这个问题)
答案 2 :(得分:0)
您收到此消息的主要原因是您没有将ssh-keygen
添加到您的环境变量中。
该命令位于Git程序文件的bin目录中。
您应该将bin目录添加到环境变量中。