简要背景:
嗨,我是一名大学生(代理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
答案 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"