Pytanie w sprawie git, proxy – Jak używać tunelu SSH do przesyłania dalej protokołu git? [Zamknięte]

2

Wiem, że podobne pytania były zadawane wiele razy. Ale wszystko, co mogę znaleźć, to odpowiedzi na temat konfiguracji serwera proxy dla protokołów http lub ssh. Oto sytuacja. Z jakiegoś powodu repozytorium git na gitorious muszę sklonować nie zezwala na http lub ssh. Kiedy używam „git clone”http://gitorious.org/.... "Mam" ... / refs nie znaleziono: czy uruchomiłeś git update-server-info na serwerze? "Błąd. Jeśli użyję" git clone ssh: //[email protected]/ .. . ", Dostałem" fatalny: zdalny koniec niespodziewanie odłożył słuchawkę "błąd (prawdopodobnie powinienem winić android" repo "za to, ponieważ mogę zrobić git clone bezpośrednio, ale nie przez" repo sync "). testy są wykonywane bez zapory ogniowej.)

Moje pytanie brzmi: jak skonfigurować tunel SSH, aby używał protokołu git za firewallem. W szczególności muszę zrobić „git clone git: //gitorious.org / ...” (nie ssh: //, nie http: //) za firewallem. Dzięki!

Twoja odpowiedź

1   odpowiedź
3

Thegit:// protokół działa na porcie 9418 (udokumentowany wgit-daemon strona man lub uruchomgit daemon --help). Aby przekazać to przez tunel SSH, zrobiłbyś coś takiego:

ssh -L 9418:gitorious.org:9418 your.remote.host

Po połączeniu sklonujesz zdalne repozytorium w ten sposób:

git clone git://localhost/path/to/repository.git

Aby to zadziałało, potrzebujesz komputera poza firewallem, który będzie celem polecenia ssh.

czy możesz podać przykładgit://localhost/path/to/repository.git być może ze wspólnym repo jak jquery? lfender6445
Co więcej, możesz umieścić „127.0.0.1 gitorious.org” w / etc / hosts. Następnie możesz dodać klon do "git: //gitorious.org/" zamiast "git: // localhost /", za pomocą tunelu ssh. Oczywiście ta metoda ma wpływ na cały system i powinna być stosowana ostrożnie. ddwalker
Repozytorium jquery to git: //github.com/jquery/jquery.git. Używając powyższej konfiguracji, użyłbyś git: //localhost/jquery/jquery.git, zakładając, że ustawiłeś port 9418 lokalnie, aby przekazać go do github. larsks
Dziękuję za odpowiedź. To się udało. ddwalker

Powiązane pytania