我正在尝试使用以下命令行将代码部署到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 keys:add
如果它不存在的话,它会成为一个。
其他回答
对于那些在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,它应该可以工作了。
这个问题困扰了我几天。
这可能会有所帮助。
1) 看看你现在在Heroku有什么钥匙。
$ heroku keys
=== 1 key for joe@example.com
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local
2) 构建~/.ssh/config文件:
$ sudo vim ~/.ssh/config
使用此信息编辑
Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/ssh-dss # location and name of your private key
TCPKeepAlive yes
User joe@workstation.local
在尝试了所有这些想法之后,我仍然有问题。这是我的问题:
我的远程heroku存储库被吓坏了。我将其刷新如下:
git remote -v
然后删除错误的heroku:
git remote rm heroku
然后添加新的
git remote add heroku git@heroku.com:sitename.git
您可以从应用程序的Heroku设置页面获取站点名称。祝你好运
如果要使用“sudo”,例如:
sudo git clone git@heroku.com......... -o heroku
您还应该为root用户生成ssh密钥。
sudo su
cd /root/.ssh
ssh-keygen -t rsa
....
heroku keys:add id_rsa.pub
它会奏效的。
如果不使用root用户,请在用户目录中生成ssh密钥。
cd /home/user/.ssh
对不起,如果我的句子搞砸了。。。
如果其他答案对你不起作用。试试这个!
有时候,你只需要再推一次。由于网络连接缓慢(当您下载或使用p2p时),我今天遇到了这种情况。
请参见下面的截图: