我试图使用以下命令行将我的代码部署到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密钥,但仍然出现这个错误。
在Windows 7的64位系统上,以上解决方案(Onur Turhan的)对我也有效,只需稍作修改即可,具体如下:
C:\Users\MyName > heroku login
输入电子邮件/密码
C:\Users\MyName >ssh-keygen -t rsa -f id_rsa
这将在我的 c:\Users\MyName 目录下生成两个文件(id_rsa 和 id_rsa.pub),而不是在 .ssh 目录中。
heroku keys:add id_rsa.pub
git clone git@heroku.com:some-heiku-xxxx.git -o heroku
我猜添加正确的"id_rsa.pub"文件是最重要的。使用keygen生成公钥后,只需验证您是否通过查看创建时间戳来添加了正确的密钥。
当我在我的电脑上安装TortoiseGIT时,遇到了这个问题。在将环境变量GIT_SSH
更改为
"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"
为了
"c:\Program Files (x86)\Git\bin\ssh.exe"
按照这个教程使用 ssh-keygen
和 keys:add
,它可以正常工作!
只需要一个命令:
heroku keys:add
heroku keys:add
并不是一个完整的答案。 - JGallardo我之前可以进行push操作,但突然间就不能了。
如果heroku api正在经历停机时间,当您尝试进行push操作时,您将会遇到这个错误。
在过度惊慌之前,请检查:
操作步骤
$ heroku login
$ ssh-keygen -t rsa
$ heroku keys:add
对于那些在Windows 7上尝试了以上所有方法,但仍然无法解决问题的人,这是我所做的: - 从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
看起来你的~/.ssh/authorized_keys
文件没有正确设置。请确认以下内容:
~/.ssh
的权限为0700。我曾经遇到过同样的问题,按照以下步骤应该会有所帮助:
.pub
文件和know_host
)在.ssh/文件夹
中上述命令要求我生成新的密钥,以下是输出: Could not find an existing public key. Would you like to generate one? [Yn] Y Generating new SSH public key. Uploading SSH public key C:/Documents and Settings/Admin/.ssh/id_rsa.pub... done ! 'heroku' gem已停用并替换为Heroku Toolbelt,请从https://toolbelt.heroku.com下载并安装。
上述命令将给出以下输出: Found existing public key: C:/Documents and Settings/Admin/.ssh/id_rsa.pub Uploading SSH public key C:/Documents and Settings/Admin/.ssh/id_rsa.pub... done
对我来说,使用上述步骤解决了问题,并且能够在云上部署应用程序。
heroku login
命令,然后输入我的邮箱和密码,再尝试一次即可。 - Alejandro Veintimilla