मैं का उपयोग करना चाहते हैं (क्लोन/धक्का/खींच) एक निजी (ssh के माध्यम से) Git भंडार के पीछे ssh के माध्यम से एक Git भंडार तक पहुंच के दौरान एक कॉर्पोरेट फ़ायरवॉल है कि केवल HTTP प्रॉक्सी उपयोग की अनुमति देता के पीछे। मैंने एक मजबूत जावा (डेमॉन) प्रोग्राम लिखा है (जेएससीएच कक्षा पुस्तकालय के आधार पर) जो मुझे स्थानीय और रिमोट पोर्ट अग्रेषण का लाभ उठाने की अनुमति देगा और मैं इसे लाभ उठाने की उम्मीद कर रहा हूं लेकिन जब मैं इसे स्थापित करने की कल्पना करता हूं तो मेरा दिमाग दर्द होता है ।एक फ़ायरवॉल
Git रेपो डिपो (एक वाक्यांश सिक्के करने के लिए), इसलिए स्वाभाविक झुकाव foo.server.com/var/git पर है fireall अनदेखी, स्थापित करने के लिए एक क्लोन होगा:
$ git clone ssh://foo.server.com/var/git/myrepo.git
लेकिन फ़ायरवॉल इस कमांड को अवरुद्ध करेगा। मैं
$ git clone ssh://localhost:8022/var/git/myrepo.git
की तरह कुछ कोशिश करने के लिए इच्छुक हूँ
जहां स्थानीय होस्ट: 8022 foo.server.com:22
को भेजा जाता है तो यह पथ के लायक है? क्या कोई आसान समाधान है जो अभी भी सुरक्षित है? क्या ऐसे नुकसान या गठिया हैं जिन्हें मुझे अवगत होना चाहिए?
नहीं। यही कारण है कि यह इतना कठिन बना रहा है। फ़ायरवॉल के माध्यम से केवल http की अनुमति है। एसएसएच कॉन्फ़िगरेशन हैक्स हैं जिनका उपयोग मैं सामान्य एसएसएच कमांड को काम करने के लिए कर सकता हूं लेकिन मुझे विश्वास नहीं है कि यह गिट कमांड में मदद करेगा। मुझे यह सुनना अच्छा लगेगा कि मैं गलत हूं और जब मैं काम करता हूं तो मैं इसे आजमाउंगा। – pajato0
मेरा उत्तर अपडेट किया गया: आपके एसएसएच कॉन्फ़िगरेशन हैक को भी गिट के माध्यम से काम करना चाहिए। – Thilo
असल में Git बस का आह्वान 'Git से अपलोड-pack' /' Git-प्राप्त-pack' जब कर लाने/SSH के माध्यम से धक्का (यह करता है 'ssh git.example.com" Git से अपलोड पैक '/project.git की तरह कुछ ' "')। आप निर्दिष्ट कर सकते हैं कि गिट-फ़ेच/गिट-पुश के लिए उपयुक्त विकल्पों का उपयोग करके गिट-अपलोड-पैक या गिट-प्राप्त-पैक कहां खोजें। –