我正在尝试使用以下命令行将代码部署到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/authorized_keys文件设置不正确。验证:
它在正确的路径上。文件的权限为0600。~/.ssh的权限为0700。
其他回答
这个问题困扰了我几天。
这可能会有所帮助。
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 login
abc@gmail.com密码(&P)
->cd C:\Users\yourusername\.ssh (OR for cygwin shell ->cd ~/.ssh)
->ssh密钥生成-t rsa-f id_rsa
如果询问任何密码,请不要使用空白,填写密码,但不要忘记。
生成密钥后,您需要添加它,如下所示
$ ssh-add
给heroku
->heroku keys:add "id_rsa.pub"
将目录更改为工作区,然后
->git clone git@heroku.com:stark-dawn-1234.git -o heroku
使用上面设置的密码短语。
实际上,我也删除了下面的文件,但不确定它们是imp,
C: \Users\yourusername.heroku\credientals和C:\Users\yourusername.ssh\known_hosts
当TortoiseGIT安装在我的机器上时,我遇到了这个问题。将环境变量GIT_SSH从
"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"
to
"c:\Program Files (x86)\Git\bin\ssh.exe"
使用ssh-keygen和keys完成本教程:add,它起作用了!
如果其他答案对你不起作用。试试这个!
有时候,你只需要再推一次。由于网络连接缓慢(当您下载或使用p2p时),我今天遇到了这种情况。
请参见下面的截图:
我面临的问题是在Windows上,每当我运行“heroku keys:add”时,它都会选择github键。以下是我解决问题的步骤
转到“Document and Settings”文件夹下的.ssh目录,删除了git hub密钥运行命令heroku键:添加
上面的命令要求我生成一个新的密钥,下面是输出找不到现有公钥。是否要生成一个?[Yn]是正在生成新的SSH公钥。正在上载SSH公钥C:\Documents and Settings/Admin/.SSH/id_rsa.pub…已完成! “heroku”gem已被弃用,取而代之的是heroku Toolbelt,请从https://toolbelt.heroku.com.
重新运行命令heroku键:添加
上述命令不会给出以下输出找到现有公钥:C:\Documents and Settings/Admin/.ssh/id_rsa.pub正在上载SSH公钥C:\Documents and Settings/Admin/.SSH/id_rsa.pub…已完成
现在使用git push heroku master
对我来说,使用上述步骤解决了问题,并能够在云上部署应用程序。