1

Я работаю на машине, которая не имеет прямого доступа к Интернету, но другие узлы в домене имеют. Это означает, что я могу подключиться к другой машине по ssh для синхронизации своего репозитория git, но я не могу сделать это с самой машины.

> 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'

Я хотел бы иметь возможность использовать machine2 в качестве прокси для подключения к git-серверу. К сожалению, machine2 не настроен в качестве http-прокси, а сервер git не настроен на использование протоколов git:// или ssh:// . Есть ли способ, которым я могу использовать machine2 в качестве прокси для установления соединения https с git.example.com? Обратите внимание, что у меня нет привилегий sudo на machine2 .

Обновить:

Осложняющим фактором является тот факт, что я использую закрытый ключ для аутентификации на сервере HTTPS. В моем ~/.gitconfig меня есть следующие строки

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

Все это настроено правильно, о чем свидетельствует тот факт, что я могу успешно клонировать репозиторий с компьютера machine2 используя эти учетные данные. Однако попытка использовать простой socks-сервер, предложенный @IporSircer , похоже, не передает мои учетные данные должным образом.

1 ответ1

0

Используйте ssh socks server:

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 ~

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .