Возможно запускать git
команды через двойной туннель SSH .Принятый ответ там немного устарел, ssh
в настоящее время может построить туннель без внешних команд, таких как netcat
или socat
.
Настроить в ~/.ssh/config
:
Host server
HostName git-server
ProxyCommand ssh -W %h:%p B
Это настраивает ssh
для запуска соединения с хостом B
и открывает туннель через это соединение с хостом git-server
.Выполнить
git pull ssh://server/path/to/repository
Другое возможное решение - использовать ext::
удаленный помощник .Смотрите второй ответ в связанном вопросе.Выполнить
git pull "ext::ssh -t B ssh git-server %S '/path/to/repository'"