2013-03-23 10 views
56

Sono sotto un proxy e sto spingendo per abilitare con successo per un bel po '.
Ora non riesco a spingere all'improvviso all'improvviso.
Ho impostato la chiave RSA e il proxy e li ho ricontrollati, senza alcun risultato e git mi ha lanciato l'errore mostrato nel titolo della pagina.ssh: connettersi alla porta host github.com 22: Timeout connessione scaduta

+0

Creare un hotspot sul dispositivo mobile, connettersi tramite il dispositivo mobile, quindi 'git push'. Ha funzionato per me – zundi

risposta

113

Il motivo potrebbe essere la modifica firewall come si è sotto una rete. (In questo caso possono deliberatamente bloccare alcune porte)
controllare due se questo è il motivo ... fare

ssh -T [email protected] 

questo dovrebbe scadere. Se questo è il caso usa il protocollo http invece di ssh in questo modo
cambia semplicemente l'url nel file di configurazione su http.
Ecco come: -

git config --local -e 

cambiamento ingresso di

url = [email protected]:username/repo.git 

a

url = https://github.com/username/repo.git 
+1

Il formato effettivo per un URI repo HTTPS è 'https: // github.com/username/repo.git' non' https: // pboone @ github.com/username/repo.git' – lantrix

+0

@lantrix vero! –

+2

Ho avuto quel problema una volta, ma il riavvio del mio computer l'ha risolto. –

26

URL di base riscrittura

Git fornisce un modo per riscrivere URL utilizzando git config. È sufficiente eseguire il seguente comando:

git config --global url."https://".insteadOf git:// 

Ora, come per magia, tutti i comandi Git si esibiranno una sostituzione di git:// al https://

fonte: git:// protocol blocked by company, how can I get around that?

+0

Grazie! La nostra era durante la build di Jenkins quindi non potevo modificare manualmente il file git (non ho le credenziali git per l'account jenkins), quindi è stato molto utile. – Phil

+0

Questo è fantastico. Ho aggiunto git alias per ciascuno per passare facilmente a – lfender6445

+3

Per quanto riguarda github, il comando dovrebbe essere: 'git config - url globale." Https://github.com/ ".insteadOf [email protected]:'. Notate le differenze: '@' diventa '//' e ':' diventa '/'. – Frodon

2

Esegui:

nc -v -z <git-repository> <port> 

L'output dovrebbe sembrare lik e:

"Connection to <git-repository> <port> port [tcp/*] succeeded!" 

Se si ottiene:

connect to <git-repository> <port> (tcp) failed: Connection timed out 

È necessario modificare il file ~/.ssh/config. Aggiungere qualcosa di simile al seguente:

Host example.com 
Port 1234 
0

ho avuto questo stesso problema, ma la risposta che ho trovato era diverso, pensò qualcuno potrebbe venire attraverso questo problema, ecco la mia soluzione.

ho dovuto whitelist 2 IP per la porta 22, 80, 443 e 9418:

  • 192.30.252.0/22

  • 185.199.108.0/22

Nel caso in cui questi IP non funzionano , potrebbe essere perché sono stati aggiornati, è possibile trovare il più curato affitta quelli allo this page.

Problemi correlati