2009-04-09 1 views
9

Мое положение, я могу ssh для ComputerB (Code repos), где помещается git repos. Но мое локальное подключение слишком медленное, чтобы клонировать код. И я могу ssh на другую машину (ComputerA) , которая быстрее, поэтому я хочу клонировать код через ComputerA.Может ли git работать через пересылку портов ssh?

Это то, что я сделал:

  ssh tunnel       ssh tunnel 
MyComputer ----------> ComputerA (I can ssh to) ----------> ComputerB (where the Code repos is and I can ssh to but too slow) 

Используя команду:

ssh -L1234:ComputerA_ip:22 Code_repos_ip 

Тогда:

git clone git+ssh//localhost/repos local_repos (how can I assign the port 1234?) 

Если это не работает, что еще я могу делать?

+0

Я написал полный ответ/руководство здесь: HTTP: //vladzloteanu.wordpress.com/2010/12/18/git-through-ssh-port-forwarding-ssh-tunneling/. –

ответ

14

Как будет происходить через два соединения быстрее сделать соединение?

Во всяком случае, вы должны быть в состоянии сделать:

git clone git+ssh://localhost:1234/repos local_repos 
-3

Сначала клон к компьютеру А, затем клонируется с ComputerA на ComputerB. Тем не менее, вам нужно будет ssh для ComputerA, чтобы получить новые вещи.

1

Заканчивать файлы команд для SSH. Вы можете автоматически выполнить команду при входе в систему через SSH. Это указано в файле authorized_keys. Итак, на компьютере A у вас будет командный файл, который автоматически SSH-es в компьютер B. Затем, когда вы подключитесь к компьютеру A, он сделает это автоматически для компьютера B. К вашему компьютеру он напрямую подключен к компьютеру B. Вы даже можете использовать сжатый туннель.

8

Кроме того, вы можете попробовать поставить номер порта в вашем ~/.ssh/config:

Host ComputerA 
HostName localhost 
Port 1234 

И затем использовать ComputerA в мерзавца команды клона:

git clone git+ssh://ComputerA/repos local_repos 
+0

в моем calse
yubaofu @ ~ кошка .ssh/конфигурации Хост github.com HostName локальный Порт 7070 yubaofu @ ~ мерзавец клон мерзавец + SSH: //github.com/fuyou001/yubao-studying.git Клонирование в «yubao-study» ...
не может работать – fuyou001