मेरे पास एक गिट सर्वर है जो फ़ायरवॉल के पीछे है। मैं अपने घर से फ़ायरवॉल तक पहुंच सकता हूं, लेकिन गिट सर्वर नहीं। हालांकि, मैं फ़ायरवॉल से गिट सर्वर तक पहुंच सकता हूं (यानी, मैं फ़ायरवॉल में एसएसएच और फ़ायरवॉल से एसएसएच को गिट सर्वर पर कर सकता हूं)। मैं अपनी होम मशीन से गिट रेपो को धक्का और खींचने के लिए देख रहा हूं, और मैंने सोचा कि एसएसएच प्रॉक्सी कॉमांड ऐसा करेगा।गिट, एसएसएच और प्रॉक्सी कॉमांड
Host git_server
HostName git_server.dom
User user_git_server
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh firewall exec nc %h %p
Host firewall
HostName firewall.dom
User user_firewall
IdentityFile ~/.ssh/id_rsa
इस स्थापना के साथ
कर सकते हैं सीधे SSH Git सर्वर से ssh git_server
करने से, मैं: तो मैं अपने SSH कॉन्फ़िग फ़ाइल के लिए निम्न गयी। हालांकि, सर्वर से बात करने की आवश्यकता वाले गिट कमांड काम नहीं करते हैं। git remote show origin
संदेश के साथ विफल रहता है:
ssh: connect to host git_server.dom port 22: Operation timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
मूल रेपो का यूआरएल
ssh://[email protected]_server.dom/path/to/bare/repository/repo.git
मुझे लगता है कि मैं जगह में चीजों की सबसे है, लेकिन एक छोटे से महत्वपूर्ण टुकड़ा याद आ रही है। कोई संकेतक कि मैं क्या गलत कर सकता था?
नहीं होना चाहिए, वह भी काम कर सकता था। यह एक [एसएसएच-यूरी] है (http://stackoverflow.com/a/9835653/6309), यानी एक गैर- [एसपीपी वाक्यविन्यास] (http://stackoverflow.com/a/14134674/6309) जो ' टी '~/.ssh/config' फ़ाइल का उपयोग नहीं करें। और यदि आप [scp वाक्यविन्यास] (http://www.hypexr.org/linux_scp_help.php) का उपयोग करने के लिए उपयोग करते थे, तो आपको उपयोगकर्ता नाम निर्दिष्ट करने की आवश्यकता नहीं होगी: 'ssh: // git_server:/path// नंगे/भंडार/repo.git' करने के लिए। और आपका मतलब था ['कोलन'] (http://en.wikipedia.org/wiki/Colon_%28punctuation%29), 'रंग' नहीं;) – VonC
मुझे यकीन नहीं है कि यह वास्तव में क्या है जिससे आपने कहा "नहीं "। Ssh-uri ssh-config फ़ाइल का उपयोग कब नहीं करेगा? – innaM
आह। इसका परीक्षण किया और कोलन को जाना है। – innaM