Git Clone с удаленного сервера с цепочкой SSH - PullRequest
2 голосов
/ 18 октября 2011

у нас есть git-репозиторий на удаленном сервере A. Обычно я обращаюсь к нему через ssh со своей рабочей машины, например,

git clone user@A:/path/to/repo 

Однако A не доступен напрямую из-за пределов работы.Есть еще один сервер, B, на котором я ssh, который затем может ssh в A. Теперь я хочу сделать клонирование хранилища на моей машине дома.Я пробовал что-то вроде

git clone B:A:/path/to/repo
git clone user@B:A/path/to/repo

, ни один из которых не работал.Я полагаю, я мог бы скопировать репо на B и клонировать оттуда, но объединение изменений обратно в A было бы проблемой.Любые предложения, как я могу получить доступ к A напрямую?

Ответы [ 2 ]

5 голосов
/ 18 октября 2011

Если у вас настроен SSH без пароля между сервером A и сервером B, вы можете написать простой скрипт-обертку, который подключается к серверу A через SSH и запускает команду SSH с аргументами из Git.

Create Script:

cat << EOF > ssh-wrapper.sh
#!/bin/sh
ssh -T serverB.example.com ssh ${@}
exit $?
EOF
chmod 755 ssh-wrapper.sh

Затем установите GIT_SSH на ./ssh-wrapper.sh и вызовите Git:

GIT_SSH='./ssh-wrapper.sh' git clone user@A:/path/to/repo
2 голосов
/ 18 октября 2011

Я думаю, вы хотите, чтобы SSH-туннель прошел через A. Посмотрите на это: http://www.revsys.com/writings/quicktips/ssh-tunnel.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...