今天 push project 到 heroku ,可是怎么都出现下面这个错误:
Permission denied (publickey). fatal: The remote end hung up unexpectedly
不解,push 到github 就没有问题, 网上搜了下 说是 publickey 问题 , 可是看了 heroku 上 和本地的 就是一样的 。。
wxianfeng@ubuntu:/usr/local/system/projects/git/fucklinode$ heroku keys === 1 key for wang.fl1429@gmail.com ssh-dss AAAAB3NzaC...ZALatGdA== wang.fl1429@gmail.com
本地的
~/.ssh/id_rsa.pub 也是这个key
如果发现不一样的 可以 添加一个新的 key
>heroku keys:add ~/.ssh/id_rsa.pub
更多关于keys的命令可以
>heroku help
继续研究,后来发现 heroku 找的 不是 id_rsa.pub ,而是 id_dsa.pub ,通过 ssh -v git@heroku.com 查出
>ssh -v git@heroku.com ... debug1: Trying private key: /home/wxianfeng/.ssh/id_dsa ...
好 , 那我就给你生成 dsa 加密的
>cd ~/.ssh
>rm -rf *
>ssh-keygen -C "wang.fl1429@gmail.com" -t dsa # rsa 加密的 -t rsa 即可
上传 key
>heroku keys:add ~/.ssh/id_dsa.pub
再
>git push heroku master
就ok了
按照官方的教程 就应该是 id_rsa.pub , 之前也一直好好的,可是 今天 找的怎么是 id_dsa.pub 呢 , 如果你同样遇到这个问题,看看是不是 也是这里的问题 ….
SEE:
http://stackoverflow.com/questions/3481973/heroku-error-permission-denied-public-key
http://devcenter.heroku.com/articles/quickstart
http://help.github.com/troubleshooting-ssh/