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 ~
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
.
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.
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 ~
Tags ssh networking git proxy linux