赞
踩
我正在尝试使用以下命令行将代码部署到heroku:
git push heroku master
但出现以下错误:
- Permission denied (publickey).
- fatal: The remote end hung up unexpectedly
我已经上传了我的公共SSH密钥,但是它仍然出现此错误。
我遇到了同样的问题,因为我没有公共密钥,所以我这样做了:
- heroku keys:clear
- heroku keys:add
这将生成一个公钥,然后运行良好
如果要使用“ sudo”,则示例:
sudo git clone git@heroku.com......... -o heroku
您还应该为根用户生成ssh密钥。
- sudo su
- cd /root/.ssh
- ssh-keygen -t rsa
- ....
- heroku keys:add id_rsa.pub
它会工作。
如果不使用root用户,请在用户目录中生成ssh密钥。
cd /home/user/.ssh
对不起,如果我的句子搞砸了...
如果您已经上传了密钥,请尝试删除密钥,然后使用新密钥重新上传。
- heroku keys:remove //removes the existing key
- ssh-keygen -t rsa //generates a new key in ~/.ssh folder
- heroku keys:add //uploads the new key, if no arguments r passed then the key generated
- //in default directroy i.e., ~/.ssh/id_rsa is uploaded
- git push heroku
这应该工作。
分享我的经验:
Git(我自己安装的)正在寻找名为“ id_rsa”的密钥。
因此,我尝试将我的密钥重命名为“ id_rsa”和“ id_rsa.pub”,并且可以正常工作。
顺便说一句,我敢肯定还有另一种方法可以做到,但是我还没有深入。
我必须做:
- $ ssh-keygen -t rsa
- $ heroku keys:add
然后工作了:
$ git push heroku master
一个命令起作用:
heroku keys:add
如果不存在,它将创建一个。
当我的机器上安装了TortoiseGIT时,我遇到了这个问题。 更改环境变量GIT_SSH
"c:\Program Files\TortoiseGit\bin\TortoisePlink.exe"
至
"c:\Program Files (x86)\Git\bin\ssh.exe"
并按照本教程的ssh-keygen
和keys:add
!
检查您的.ssh配置中的heroku。 转到.ssh文件夹并打开配置文件
- cd ~/.ssh
- subl config
'subl'用于Sublime Text,但是您可以使用所需的任何编辑器。 查找“ IdentityFile”行,并确保列出了非公共密钥:
IdentityFile "/Users/ircmullaney/.ssh/my_ssh"
不
IdentityFile "/Users/ircmullaney/.ssh/my_ssh.pub"
对我来说就做到了。 我不确定为什么我的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。