Pergunta sobre git, proxy – Como usar o túnel SSH para encaminhar o protocolo git? [fechadas]

2

Eu sei que perguntas semelhantes foram feitas muitas vezes. Mas tudo o que posso encontrar são respostas sobre como configurar o proxy para protocolos http ou ssh. Aqui está a situação. Por alguma razão, o repositório gitioso que eu preciso clonar não permite http ou ssh. Quando eu uso "git clonehttp://gitorious.org/.... "Eu tenho" ... / refs não encontrado: você executou o erro git update-server-info no servidor? ". Se eu usar" git clone ssh: //[email protected]/ .. . ", Eu tenho" fatal: O fim remoto desligou inesperadamente "erro (provavelmente eu deveria culpar android" repo "por este, porque eu posso fazer git clone diretamente, mas não através de" repo sync "). testes são feitos sem firewall.)

Então, minha pergunta é como configurar o túnel SSH para usar o protocolo git atrás de um firewall. Especificamente, eu preciso fazer "git clone git: //gitorious.org / ..." (não ssh: //, não http: //) por trás do firewall. Obrigado!

Sua resposta

1   a resposta
3

ogit:// protocolo opera na porta 9418 (documentada nogit-daemon página de manual ou executargit daemon --help). Para encaminhar isso através de um túnel SSH, você faria algo assim:

ssh -L 9418:gitorious.org:9418 your.remote.host

Uma vez conectado, você clonaria um repositório remoto como este:

git clone git://localhost/path/to/repository.git

Para que isso funcione, você obviamente precisa de uma máquina fora do seu firewall para ser o alvo do comando ssh.

Obrigado pela resposta. Isso funcionou. ddwalker
você pode fornecer exemplo degit://localhost/path/to/repository.git talvez com um repo comum como jquery? lfender6445
O repositório jquery é git: //github.com/jquery/jquery.git. Então, usando a configuração acima, você usaria git: //localhost/jquery/jquery.git, assumindo que você tinha organizado a porta 9418 localmente para encaminhar para o github. larsks
Ainda mais, você pode colocar "127.0.0.1 gitorious.org" em / etc / hosts. Então você pode git clone para "git: //gitorious.org/" em vez de "git: // localhost /", com o túnel ssh. É claro que esse método tem impacto amplo no sistema e deve ser usado com cautela. ddwalker

Perguntas relacionadas