proxy SSH para estabelecer conexão HTTPS com o servidor git

1

Estou trabalhando em uma máquina que não tem acesso direto à Internet, mas outros nós no domínio fazem isso. Isso significa que posso ssh para outra máquina para sincronizar meu repositório git, mas não consigo fazer isso a partir da própria máquina.

> git clone https://git.example.com/git/myproj.git ~
fatal: unable to access 'https://git.example.com/git/myproj.git'

> ssh machine2
> git clone https://git.example.com/git/myproj.git ~
successfully cloned into '~/myproj'

Eu gostaria de poder usar machine2 como um proxy para se conectar ao servidor git. Infelizmente, machine2 não está configurado como um proxy http e o servidor git não está configurado para usar os protocolos git:// ou ssh:// . Existe uma maneira que eu posso usar machine2 como um proxy para estabelecer uma conexão https com git.example.com ? Note que eu não tenho privilégios sudo em machine2 .

Atualização:

Um fator complicador parece ser o fato de que estou usando uma chave privada para autenticar com o servidor HTTPS. No meu ~/.gitconfig eu tenho as seguintes linhas

[http]
    sslkey = /home/nispio/.ssl/example.key.pem
    sslkey = /home/nispio/.ssl/example.crt.pem
    sslcainfo = /home/nispio/.ssl/example-ca.crt.pem

Tudo isso está configurado corretamente, como evidenciado pelo fato de eu poder clonar com êxito o repo de machine2 usando essas credenciais. Tentar usar um servidor de meias simples como proposto por @IporSircer , no entanto, parece não encaminhar minhas credenciais corretamente.

    
por nispio 27.09.2016 / 00:22

1 resposta

0

Use o servidor ssh socks:

ssh -D 1080 machine2

git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
git clone https://git.example.com/git/myproj.git ~
    
por 27.09.2016 / 00:29