我正在尝试使用以下命令行将代码部署到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密钥,但仍然会出现此错误。
当前回答
我必须这样做:
$ ssh-keygen -t rsa
$ heroku keys:add
然后它奏效了:
$ git push heroku master
其他回答
分享我的经验:
Git(我自己安装的)正在查找名为“id_rsa”的密钥。
所以我尝试将我的密钥重命名为“id_rsa”和“id_rsa.pub”,结果成功了。
顺便说一句,我肯定还有其他方法可以做到这一点,但我还没有深入研究。
推对我很有效,然后突然停了下来。
如果heroku api正在经历宕机,那么当您尝试推送时会出现此错误。
检查:
https://status.heroku.com/
在极度紧张之前。
我必须这样做:
$ ssh-keygen -t rsa
$ heroku keys:add
然后它奏效了:
$ git push heroku master
检查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 keys:remove //removes the existing key
ssh-keygen -t rsa //generates a new key in ~/.ssh folder
heroku keys:add //uploads the new key, if no arguments r passed then the key generated
//in default directroy i.e., ~/.ssh/id_rsa is uploaded
git push heroku
这应该奏效。