11

简要背景:
嗨,我是一名大学生(在代理 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 通过代理后面的 ssh 进行无缝连接。

任何帮助将不胜感激。

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

配置:

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  
4

2 回答 2

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 配置以使用该别名。

于 2012-06-22T14:55:00.613 回答
1

除了在您的 .ssh/config 中回答上述问题外:

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

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

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

以及 .git/config 文件中的适当行:

[remote "heroku"]
    url = git_heroku:still-taiga-2820.git
    fetch = +refs/heads/*:refs/remotes/heroku/*
于 2013-07-27T09:12:23.183 回答