2012-05-11 17 views
11

Breve Contexto:
Hola, soy un estudiante universitario (detrás del proxy 10.3.100.211:8080), nuevo a ROR, Git & Heroku y han estado siguiendo Ruby on Tutorial Rails. He resuelto el problema de empujar repositorio git través de SSH usando config siguiente en mi archivo ~/.ssh/config (y funcionó perfectamente después de eso):error en git principal empuje heroku través de ssh detrás de Proxy

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

Problema:

Sin embargo, en la siguiente https://devcenter.heroku.com/articles/git de usar heroku para el despliegue de aplicaciones en línea, estoy consiguiendo error siguiente:

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

Mi estado actual es: $ git -v remota

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) 

¿Alguien me puede ayudar con github.com como la configuración para heroku.com que se escribirá en mi ~/.ssh/archivo de configuración para una conexión perfecta a través de ssh detrás de proxy utilizando PORT 443/22.

Cualquier ayuda será muy apreciada.

Update (algo más de información) Me trataron los siguientes ajustes y tiene errores siguientes:

Configuración:

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

error:

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

Otra configuración:

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

error:

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

Así que ... no se necesita la misma configuración de proxy para llegar a 'heroku.com' como sea necesario para llegar a' github.com'? – larsks

+0

Lo probé, pero muestra el siguiente error: ** $ git push heroku master ** ERROR: Repository not found. fatal: el extremo remoto colgó inesperadamente. – shailesh

+0

¿Hay algún problema con el uso de ssh.heroku.com como nombre de host? ¿Heroku también usa ssh.heroku.com como nombre de host ya que github usa ssh.github.com para nombre de host? – shailesh

Respuesta

5

En su .ssh/config escribir esto:

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

y en su cambio .git/config

[email protected] 

a

La línea completa de un mando a distancia quedará del siguiente modo:

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

git_heroku es un alias; necesitas cambiar tu configuración de git para usar ese alias.

+0

¿Puede darme un ejemplo de cómo debería verse exactamente mi archivo .git/config? ¿A qué te refieres con "cambiarlo por alias de uso" – Daniel

+0

@ Daniel Hola he copiado esta respuesta, espero que sea un poco más clara. Agregué lo que * creo * debería ir en el archivo de configuración de git, pero avíseme si funciona para usted. – culix

+0

Cuando dices "git_heroku es un alias", te refieres a un alias para [email protected], ¿verdad? Entonces la línea en el archivo de configuración debería ser: [alias] \t git_heroku = [email protected] ... ¿es eso correcto? – grooble

1

Además de la respuesta anterior en su.ssh/config:

  • uso ssh.heroku.com para Hostname en lugar de heroku.com
  • asegúrese de incluir su archivo de identidad IdentityFile "path to identity file"
  • no especifican Port

Así que mis miradas .ssh/config archivos algo como esto:

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

Y líneas apropiados en el archivo .git/config:

[remote "heroku"] 
    url = git_heroku:still-taiga-2820.git 
    fetch = +refs/heads/*:refs/remotes/heroku/* 
Cuestiones relacionadas