整理自:http://ruby-china.org/topics/10813
部署到Heroku时输入 git push heroku master. 然后就开始漫长的等待了,最终报错:
ssh: connect to host heroku.com port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
一开始以为是自己的 ssh key没更新,查了一下SO:
heroku keys # 查看你当前拥有的key
可用如下命令生成新key: ssh-keygen -t rsa
然后添加到heroku上: heroku keys:add
重新push发现还是不对,郁闷,估计十有八九是 GFW 在作怪了,果不其然!!!
用 ssh -v [email protected]
检查后发现很多节点不能用
(其实我这边没有出现帖子上那样的结果,好像就出现了一个节点的测试,应该是运行命令前没设定config文件的Host)
仅有一个节点可用:107.21.95.3
手动配置 vi ~/.ssh/config,输入
Host heroku.com User whyisyoung Hostname 107.21.95.3 #关键设置,替代proxy.heroku.com,直接走IP。 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa port 22
这下好了,速度还不错。就是 bundle install 的时候会稍微慢点(尽管用的是淘宝的镜像)
我就说每次用heroku怎么各种无法上传!!!
GFW 你还要坑我们多少年!!!
另外帖子下面还提到了 用同样的办法解决了bitbucket push不上去的问题,有需要的朋友自行琢磨~
原来csdn不支持 <code></code>啊。。。。。。。