我正在尝试使用以下命令行将代码部署到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工具带,它工作了。
其他回答
这是我的解决方案:
ssh-add ~/.ssh/my_heroku_key_rsa
对于那些在Windows7上尝试了上述所有方法但仍然没有成功的人,我做了以下工作:-从Git目录C:\Program Files(x86)\Git\中打开GitBash.exe(不要打开命令提示符,这不起作用)。-如上所述添加以下内容,但必须删除#
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss
TCPKeepAlive yes
User joe@workstation.local
现在运行gitpushherokumaster,它应该可以工作了。
在尝试了所有这些想法之后,我仍然有问题。这是我的问题:
我的远程heroku存储库被吓坏了。我将其刷新如下:
git remote -v
然后删除错误的heroku:
git remote rm heroku
然后添加新的
git remote add heroku git@heroku.com:sitename.git
您可以从应用程序的Heroku设置页面获取站点名称。祝你好运
除了处理SSH密钥,您还可以尝试Heroku的新测试版HTTP Git支持。它只使用您的API令牌并在端口443上运行,因此无需使用SSH密钥或端口22。
要使用HTTP Git,首先确保Toolbelt已更新,并且您的凭据是最新的:
$ heroku update
$ heroku login
(这一点很重要,因为Heroku HTTP Git的认证方式与Toolbelt的其他方式略有不同)
在测试期间,通过将--httpgit标志传递给相关的heroku应用程序:create、heroku git:clone和heroku git:remote命令,可以获得HTTP。要创建新的应用程序并使用HTTP Git远程配置它,请运行以下命令:
$ heroku apps:create --http-git
要将现有应用程序从SSH更改为HTTP Git,只需从计算机上的应用程序目录运行以下命令:
$ heroku git:remote --http-git
Git remote heroku updated
有关如何为Heroku设置HTTP Git的详细信息,请查看开发中心文档。
我也遇到了同样的问题;以下步骤将有助于:
首先,登录:heroku登录清除所有键:heroku键:清除删除.ssh/文件夹中本地文件夹中的所有文件(所有.pub文件和know_host)再次登录:heroku login-u将无需按键提示,因此请按照屏幕上的说明进行操作。