Подтвердить что ты не робот

Ошибка в 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  
4b9b3361

Ответ 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/*