我正在尝试使用以下命令行将代码部署到heroku:
git push heroku master
但会出现以下错误:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我已经上传了我的公共SSH密钥,但仍然会出现此错误。
我正在尝试使用以下命令行将代码部署到heroku:
git push heroku master
但会出现以下错误:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我已经上传了我的公共SSH密钥,但仍然会出现此错误。
当前回答
我重新安装了heroku工具带,它工作了。
其他回答
检查heroku的.ssh配置。转到.ssh文件夹并打开配置文件
cd ~/.ssh
subl config
“subl”用于Sublime文本,但您可以使用任何您想要的编辑器。查找“IdentityFile”行,并确保它列出了非公钥:
IdentityFile "/Users/ircmullaney/.ssh/my_ssh"
not
IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"
这对我来说很有用。我不知道为什么我的配置文件中有公共版本,但它确实有,并且抛出了错误:
Permissions 0644 for '/Users/ircmullaney/.ssh/my_ssh.pub' are too open.
我也遇到了同样的问题;以下步骤将有助于:
首先,登录:heroku登录清除所有键:heroku键:清除删除.ssh/文件夹中本地文件夹中的所有文件(所有.pub文件和know_host)再次登录:heroku login-u将无需按键提示,因此请按照屏幕上的说明进行操作。
推送时使用
git push heroku production:master
使用主目录~/.ssh/id_rsa下的公钥
要解决此问题
您应该以其他用户身份登录,可能是root用户
sudo su
然后通过发出以下命令重新开始
heroku keys:clear //removes existing keys
ssh-keygen -t rsa //generates a new key in ~/.ssh folder (set a password)
heroku keys:add //uploads the new key, ~/.ssh/id_rsa is uploaded
git push heroku production:master
如果其他答案对你不起作用。试试这个!
有时候,你只需要再推一次。由于网络连接缓慢(当您下载或使用p2p时),我今天遇到了这种情况。
请参见下面的截图:
我花了三天的时间尝试各种可能的组合,试图让它发挥作用——我最终尝试了制作DSA密钥,结果成功了。
如果不适合您,请尝试DSA而不是RSA。
(我使用的是Ubuntu 11.10、ruby 1.8.7、heroku 2.15.1)