2012-05-11 10 views
11

Breve Contesto:
Ciao, sono uno studente universitario (dietro delega 10.3.100.211:8080), nuova per ROR, Git & Heroku e hanno seguito Ruby on Tutorial Rails. Ho risolto il problema di spingere git repo tramite SSH utilizzando seguente configurazione nel mio file ~/.ssh/config (e ha funzionato perfettamente dopo che):Errore in git maestro spinta Heroku tramite ssh dietro delega

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

Problema:

Tuttavia, a seguire https://devcenter.heroku.com/articles/git da usare Heroku per la distribuzione di app online, sto ottenendo seguente errore:

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

Il mio stato attuale è: $ git remote -v

012.351.641.061.
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) 

Qualcuno può aiutarmi con github.com come impostazioni per heroku.com da scrivere nel mio file ~/.ssh/config per una connessione senza interruzioni tramite ssh dietro proxy utilizzando PORT 443/22.

Qualsiasi aiuto sarà molto apprezzato.

Update (Un po'più di informazioni) Ho provato le seguenti impostazioni e ottenuto seguenti errori:

Configurazione:

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

Errore:

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

un'altra configurazione:

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

Errore:

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

Allora ... non è necessario la stessa configurazione di proxy per raggiungere 'heroku.com' come è necessario per raggiungere' github.com'? – larsks

+0

L'ho provato, ma viene visualizzato l'errore seguente: ** $ git push heroku master ** ERRORE: Repository non trovato. fatale: l'estremità remota si è riattaccata in modo imprevisto. – shailesh

+0

C'è qualche problema con l'utilizzo di ssh.heroku.com come nome host? Heroku usa anche ssh.heroku.com come nomehost mentre github usa ssh.github.com per il nome host? – shailesh

risposta

5

Nel vostro .ssh/config scrivere questo:

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

e nel vostro cambiamento .git/config

[email protected] 

a

La linea completa per un telecomando avrà un aspetto simile:

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

git_heroku è un alias; devi cambiare la tua git config per usare quell'alias.

+0

Puoi darmi un esempio di come dovrebbe apparire il mio file .git/config? Cosa intendi con "cambia per usare l'alias" – Daniel

+0

@Daniel Ehi ho copiato questa risposta - speriamo che sia un po 'più chiaro. Ho aggiunto quello che penso * dovrebbe andare nel file di configurazione git, ma fammi sapere se funziona per te. – culix

+0

Quando si dice "git_heroku è un alias", si intende un alias per [email protected], giusto? Quindi la riga nel file di configurazione dovrebbe essere: [alias] \t git_heroku = [email protected] ... è giusto? – grooble

1

In aggiunta alla risposta sopra nel tuo.ssh/config:

  • uso ssh.heroku.com per Hostname invece di heroku.com
  • assicurarsi di includere il file di identità IdentityFile "path to identity file"
  • non si indica Port

Così i miei sguardi .ssh/file di configurazione qualcosa di simile:

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

E righe appropriate nel file .git/config:

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