chciałbym dostępu (klon/Push/ciągnącej) prywatny (poprzez ssh) repozytorium git natomiast za firmowym firewallem, który umożliwia dostęp tylko http proxy. Napisałem solidny program Java (demon) (oparty na bibliotece klas JSCh), który pozwoli mi wykorzystać lokalne i zdalne przekazywanie portów i mam nadzieję, że wykorzystam to, ale mój mózg rani, gdy próbuję wyobrazić sobie, jak to ustawić .dostęp do repozytorium git poprzez SSH za firewallem
Zajezdnia git repo (na monety frazę) jest foo.server.com/var/git tak naturalnej skłonności, ignorując fireall, aby skonfigurować klonem byłoby:
$ git clone ssh://foo.server.com/var/git/myrepo.git
ale zapora blokuje to polecenie. Jestem skłonny spróbować czegoś podobnego
$ git clone ssh://localhost:8022/var/git/myrepo.git
gdzie localhost: 8022 jest przekazywany do foo.server.com:22
Więc jest to ścieżka warto dążyć? Czy istnieje jakieś łatwiejsze rozwiązanie, które jest nadal bezpieczne? Czy są pułapki lub pułapki, o których powinienem wiedzieć?
Nie. To właśnie sprawia, że jest to tak trudne. Z firewalla zezwala się tylko na http. Są tu hacki konfiguracyjne SSH, których mogę użyć, aby normalne polecenia ssh działały, ale nie sądzę, że pomogą one w poleceniu git. Bardzo chciałbym usłyszeć, że się mylę i wypróbuję to, kiedy zabiorę się do pracy. – pajato0
Zaktualizowałem moją odpowiedź: twoje hacki konfiguracyjne SSH również powinny działać przez git. – Thilo
Właściwie git po prostu wywołuje 'git-upload opakowaniowe /' git-otrzymywać opakowaniowe robiąc sprowadzić/PUSH poprzez SSH (robi coś takiego jak 'ssh git.example.com„git-upload-pack „/project.git ""). Możesz określić, gdzie znaleźć git-upload-pack lub git-receive-pack, używając odpowiednich opcji do git-fetch/git-push. –