Ошибка в git нажмите мастер героя через ssh за прокси
Краткий контекст:
Привет, я студент университета (за прокси 10.3.100.211:8080), новичок в ROR, Git и Heroku и следил за учебником Ruby on Rails. Я решил проблему push Git repo через ssh, используя следующую конфигурацию в файле ~/.ssh/config (и после этого он отлично сработал):
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 [email protected]:deep-dusk-1030.git (fetch)
heroku [email protected]:deep-dusk-1030.git (push)
origin [email protected]:shaileshgupta/testapp.git (fetch)
origin [email protected]:shaileshgupta/testapp.git (push)
Может ли кто-нибудь помочь мне с github.com, как настройки для heroku.com, которые будут записаны в моем файле ~/.ssh/config для бесшовного соединения через ssh за прокси-сервером, используя 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
Ответы
Ответ 1
В вашем .ssh/config напишите это:
Host git_heroku
Hostname heroku.com
User git
ProxyCommand corkscrew 10.3.100.211 8080 %h %p
Port 443
и в вашем изменении .git/config
[email protected]
к
git_heroku
Полная строка для пульта будет выглядеть примерно так:
[remote "appname"]
url = git_heroku:appname.git
fetch = +refs/heads/*:refs/remotes/appname/*
git_heroku
- псевдоним; вам нужно изменить конфигурацию git, чтобы использовать этот псевдоним.
Ответ 2
В дополнение к ответу выше в вашем .ssh/config:
- используйте
ssh.heroku.com
для Hostname
вместо heroku.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/*