我正在尝试使用以下命令行将代码部署到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密钥,但仍然会出现此错误。
当前回答
推送时使用
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
其他回答
我有同样的问题,因为我没有公钥,所以我做到了:
heroku keys:clear
heroku keys:add
这将生成公钥,然后工作正常
这是对我有用的。heroku网站没有添加到您已知的主机中。转到其他窗口-显示查看git git存储库。从那里克隆存储库。克隆后,删除刚刚创建的存储库,然后从文件菜单中导入。这样做是因为当您克隆存储库时,它不会将其添加到资源管理器视图中。现在您应该拥有git存储库和资源管理器视图。
dmajkic的解决方案最终帮助了我:
对于Windows用户,这可能意味着:git客户端找不到您的密钥。检查c:\Users\UserName.ssh\和!环境变量HOME=c:\Users\UserName\
听起来您的~/.ssh/authorized_keys文件设置不正确。验证:
它在正确的路径上。文件的权限为0600。~/.ssh的权限为0700。
我花了三天的时间尝试各种可能的组合,试图让它发挥作用——我最终尝试了制作DSA密钥,结果成功了。
如果不适合您,请尝试DSA而不是RSA。
(我使用的是Ubuntu 11.10、ruby 1.8.7、heroku 2.15.1)