2009-04-09 6 views
9

Ma situation est, je peux SSH à ComputerB (Code repos) où git repos est mis. Mais ma connexion locale est trop lente pour cloner le code. Et je peux SSH à une autre machine (ComputerA) qui est plus rapide, donc je veux cloner le code via ComputerA.Peut-il fonctionner via la redirection de port ssh?

C'est ce que je l'ai fait:

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

En utilisant une commande comme ceci:

ssh -L1234:ComputerA_ip:22 Code_repos_ip 

Puis:

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

Si cela ne fonctionne pas, que puis-je faire?

+0

J'ai écrit une réponse complète/guide ici: http: //vladzloteanu.wordpress.com/2010/12/18/git-through-ssh-port-forwarding-ssh-tunneling/. –

Répondre

14

Comment le fait de passer par deux connexions rendra votre connexion plus rapide?

Quoi qu'il en soit, vous devriez être en mesure de le faire:

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

Premier clone à ComputerA, puis clonage de ComputerA à ComputerB. Cependant, vous devrez vous rendre à ComputerA afin de vous procurer de nouvelles choses.

1

Vérifiez les fichiers de commandes pour SSH. Vous pouvez exécuter une commande automatiquement lorsque vous vous connectez via SSH. Ceci est spécifié dans le fichier authorized_keys. Ainsi, sur l'ordinateur A, vous aurez un fichier de commande qui se connectera automatiquement à l'ordinateur B. Puis, lorsque vous vous connecterez à l'ordinateur A, il le fera automatiquement sur l'ordinateur B. Sur votre ordinateur, il est directement connecté à l'ordinateur B. Vous pouvez même utiliser un tunnel compressé.

8

Vous pouvez également essayer de mettre le numéro de port dans votre ~/.ssh/config:

Host ComputerA 
HostName localhost 
Port 1234 

Et puis utilisez ComputerA dans la commande clone git:

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

dans mon CALSE
yubaofu @ ~ .ssh cat/config Hôte github.com HostName localhost Port 7070 yubaofu @ ~ git clone git + ssh: //github.com/fuyou001/yubao-studying.git Le clonage dans 'yubao-study' ...
ne peut pas travailler – fuyou001