Pergunta

Gostaria de acessar (clone/empurrar/puxar) um repositório GIT privado (via SSH) enquanto está atrás de um firewall corporativo que permite apenas o acesso ao proxy HTTP. Eu escrevi um programa Java (Daemon) robusto (baseado na biblioteca de classes JSCH) que me permitirá aproveitar o encaminhamento local e remoto de portas e espero aproveitar isso, mas meu cérebro dói quando tento imaginar como configurar isso .

O depósito do Git Repo (para cunhar uma frase) está em foo.server.com/var/git, de modo que a inclinação natural, ignorando o Fireall, para configurar um clone seria:

$ git clone ssh://foo.server.com/var/git/myrepo.git

Mas o firewall bloqueará este comando. Estou inclinado a tentar algo como

$ git clone ssh://localhost:8022/var/git/myrepo.git

onde localhost: 8022 é encaminhado para foo.server.com:22

Então, esse caminho vale a pena seguir? Existe alguma solução mais fácil que ainda seja segura? Existem armadilhas ou betchas que eu deveria estar ciente?

Foi útil?

Solução

Você pode obter uma sessão normal de SSH (linha de comando)? Nesse caso, o git também deve funcionar.

Ao usar o SSH, o Git deve pegar suas opções de configuração em .ssh/config. Se isso não for suficiente, você pode apontar a variável de ambiente git_ssh em uma versão modificada do ssh (ou wrapper script shell).

Outras dicas

Usando socat e a .ssh/config assim:

Host=foo.server.com
ProxyCommand=socat - PROXY:your.proxy.ip:%h:%p,proxyport=3128,proxyauth=user:pwd

Você deve ser capaz de ssh para foo.server.com e

git clone ssh://foo.server.com/var/git/myrepo.git

Espera -se que funcione.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top