通过代理后面的ssh git push heroku master出错

时间:2012-05-11 16:54:26

标签: git heroku

简要背景:
嗨,我是一名大学生(代理10.3.100.211:8080),ROR,Git& Heroku并一直关注Ruby on Rails教程。我解决了在〜/ .ssh / config文件中使用以下配置通过ssh推送git repo的问题(之后它完美地运行):

Host github.com  
Hostname ssh.github.com  
User git  
ProxyCommand corkscrew 10.3.100.211 8080 %h %p  
Port 443  

问题:

但是,在https://devcenter.heroku.com/articles/git关注使用heroku进行在线应用部署时,我收到以下错误:

$git push heroku master
ssh: connect to host heroku.com port 22: Connection refused  
fatal: The remote end hung up unexpectedly  

我目前的状态是:$ git remote -v

heroku  git@heroku.com:deep-dusk-1030.git (fetch)  
heroku  git@heroku.com:deep-dusk-1030.git (push)  
origin  git@github.com:shaileshgupta/testapp.git (fetch)  
origin  git@github.com:shaileshgupta/testapp.git (push)  

任何人都可以通过github.com帮助我将heroku.com的设置写入我的〜/ .ssh / config文件,以便通过使用PORT 443/22的代理服务器进行无缝连接。

任何帮助都将受到高度赞赏。

更新(更多信息) 我尝试了以下设置并遇到以下错误:

配置:

Host heroku.com  
  Hostname ssh.heroku.com  
  User git  
  ProxyCommand corkscrew 10.3.100.211 8080 %h %p  
  Port 443  

错误:

$ git push heroku master  
ssh_exchange_identification: Connection closed by remote host  
fatal: The remote end hung up unexpectedly  

另一种配置:

Host github.com, heroku.com  
  Hostname ssh.github.com  
  User git  
  ProxyCommand corkscrew 10.3.100.211 8080 %h %p  
  Port 443  

错误:

$ git push heroku master  
ERROR: Repository not found.  
fatal: The remote end hung up unexpectedly  

2 个答案:

答案 0 :(得分:5)

在你的.ssh / config中写下这个:

Host git_heroku
  Hostname heroku.com
  User git
  ProxyCommand corkscrew 10.3.100.211 8080 %h %p
  Port 443

并在.git / config中更改

git@heroku.com

git_heroku

遥控器的整行看起来像:

[remote "appname"]
  url = git_heroku:appname.git
  fetch = +refs/heads/*:refs/remotes/appname/*

git_heroku是别名;你需要改变你的git配置来使用那个别名。

答案 1 :(得分:1)

除了回答上面的.ssh / config:

  • 使用ssh.heroku.com代替Hostname
  • 确保包含您的身份文件heroku.com
  • 不指定IdentityFile "path to identity file"

所以我的.ssh / config文件看起来像这样:

Port

.git / config文件中的相应行:

Host git_heroku
ProxyCommand corkscrew proxy.usurt.ru 3128 %h %p
HostName ssh.heroku.com
User git
IdentityFile "~/.ssh/id_rsa.pub"