SSH दूरस्थ SSH सत्र से स्थानीय मशीन पर वापस


12

मैं एसएसएच के साथ असामान्य (मेरे लिए वैसे भी) कुछ करने की कोशिश कर रहा हूं और मैं इसे काम करने के लिए नहीं कर सकता, उम्मीद है कि आप मदद कर सकते हैं।

मैं एसएसएच का उपयोग करके अपने मैक से एक दूरस्थ सर्वर से कनेक्शन स्थापित करना चाहता हूं। अब तक सब ठीक है। अब ट्रिकी बिट, रिमोट सर्वर से कनेक्शन के साथ मैं स्थापित करना चाहता हूं, फिर रिमोट सर्वर बैक से स्थानीय मशीन से कनेक्शन शुरू करना चाहता हूं। मुझे पता है, पागल। मूल रूप से मुझे दूरस्थ सर्वर को ब्राउज़ करने में सक्षम होने के लिए इन हुप्स के माध्यम से कूदने की आवश्यकता है और फिर फ़ाइल जानकारी को अपने स्थानीय मशीन पर वापस भेजना है ताकि इसे स्थानीय मशीन पर एक एप्लिकेशन द्वारा निपटा जा सके। उम्मीद है कि समझ में आता है!

इस समय अगर मैं दूरस्थ मशीन में लॉग इन होने के बाद स्थानीय मशीन पर वापस एसएसएच, टर्मिनल बस वहीं दूर बैठ जाएगा, कोई त्रुटि नहीं भी -v के साथ।

मैं $ SSH_CLIENT चर के आउटपुट को देखकर यह जानने की कोशिश कर रहा हूं कि मुझे कहां कॉल करना चाहिए, लेकिन मैं एक मानक वेनिला इंटरनेट कनेक्शन (कोई स्थिर आईपी पता नहीं) पर हूं मुझे लगता है कि यह समस्या पैदा कर सकता है।

चीजें जो मैंने स्थापित की हैं: मैं एक मैक पर हूं (ओएस एक्स 10.6.4) और मेरे पास रिमोट लॉगिन है जो सिस्टम वरीयताओं / साझाकरण में सक्षम है यदि मैं कोशिश करता हूं और एसएसएच मेरे मैक में एक और मशीन से लैन पर बाहर करता हूं तो मैं कोई समस्या नहीं जोड़ सकता हूं। यदि मैं अपने रिमोट सर्वर से किसी अन्य सर्वर (मेरी स्थानीय मशीन नहीं) में कोशिश करता हूं और एसएसएच करता हूं, तो मैं बिना किसी समस्या के जुड़ सकता हूं।

इसलिए उपरोक्त तथ्यों से मुझे लगता है कि मैं स्थानीय और दूरस्थ मशीनों पर फायरवॉल आदि के संबंध में स्पष्ट हूं।

मुझे यकीन है कि मुझे यहां कुछ स्पष्ट याद आ रहा होगा, लेकिन मेरे जीवन के लिए मुझे इस पर एक हैंडल नहीं मिल सकता है।

कोई मदद, लिंक या सही दिशा में सामान्य nudging बहुत सराहना की जाएगी!


आप ssh के साथ रिमोट सर्वर को ब्राउज़ कर सकते हैं। या आप afs का उपयोग करने की कोशिश करते हैं? कैसे के बारे में portforwardings और / या sftp / scp?
एंड्रियास रेहम

नमस्ते। हां, मैं दूरस्थ सर्वर की निर्देशिका संरचना को बिना किसी समस्या के कनेक्ट और ब्राउज़ कर सकता हूं। मुझे यकीन नहीं है कि आपका क्या मतलब है, क्षमा करें। मूल रूप से योजना यह है: मैं अपने स्थानीय मैक से अपने दूरस्थ लिनक्स सर्वर में ssh करना चाहता हूं, एक फ़ाइल के लिए ब्राउज़ करता हूं और फिर इसे स्थापित कनेक्शन को वापस करने में सक्षम हो सकता हूं (या पहले से स्थापित एक के आधार पर एक नया कनेक्शन उत्पन्न करता हूं)। स्थानीय मशीन जहां एक मैक ऐप सर्वर पर वापस भेजने से पहले डेटा को पढ़ / संपादित करेगा। मैं विशेष रूप से उपद्रव नहीं कर रहा हूं कि मैं अन्य प्रोटोकॉल को शामिल करने के मामले में इसे कैसे प्राप्त करूं।
I0n

जवाबों:


9

यदि आप अपने स्थानीय से वापस जुड़ते हैं तो यह आपको फांसी देने से पहले लॉगिन करने की अनुमति देता है, तो इसका जवाब नहीं है। यदि आपको वह दूर नहीं मिलता है, तो आप शायद अपने मैक पर वापस नहीं जा रहे हैं (या तो कहीं भी नहीं मिल रहे हैं या गेटवे पर एसएसएच मार रहे हैं)। एक रिवर्स टनल आज़माएं (इसके लिए आपके सर्वर पर sshd_config में गेटवेपोर्ट्स की आवश्यकता होगी, लेकिन मेरा मानना ​​है कि यह डिफ़ॉल्ट है):
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
इससे आपको सर्वर को सामान्य रूप से कनेक्ट करने की अनुमति मिल सकती है, लेकिन एक सुरंग भी खोलनी चाहिए ताकि आप वापस कनेक्ट कर सकें पोर्ट 2000 (1024 से अधिक पोर्ट काम करना चाहिए), इसलिएyou@yourserver$ ssh -p2000 user@localhost

EDIT: होस्टहोस्ट को लोकलहोस्ट में बदला गया


2
आपको अंतिम कमांड में यूजर @ लोकलहोस्ट का उपयोग करना है
b0fh

1
यह मददगार था, यह मुझे लगभग वहीं मिलता है जहाँ मैं रहना चाहता हूँ! मैं ऊपर के रूप में रिवर्स सुरंग के साथ कनेक्शन स्थापित कर सकता हूं और फिर ssh -p 2000 i0n @ localhost का उपयोग करके अपने स्थानीय मैक में वापस आ सकता हूं। तो मैं समय से पहले यह जाने बिना इसे कैसे प्राप्त कर सकता हूं कि मुझे इस कार्यक्षमता की आवश्यकता है? एक मौजूदा और मानक ssh कनेक्शन के साथ दूसरे शब्दों में। क्या यह संभव है?
एनएन

धन्यवाद b0fh, मैं बिस्तर पर अपने रास्ते पर था whe मैंने लिखा है कि =) i0n - सहज रूप से मैं यह कहना चाहता हूं कि आप ऐसा करने के लिए एक मौजूदा कनेक्शन को संशोधित नहीं कर सकते हैं, लेकिन PuTTY ऐसा कर सकते हैं इसलिए एक रास्ता होना चाहिए। जब आप को वापस पाइप करने की आवश्यकता होती है, तो आप हमेशा एक सुरंग के साथ एक नया एसएसएच कनेक्शन भेज सकते हैं, लेकिन मुझे लगता है कि यह प्रोग्रामेटिक रूप से होने जा रहा है ताकि विकल्प न हो। उम्मीद करें - यदि कोई भी भाषा SSH के ऊपर तैयार हो सकती है तो वह यही होगी।
जेम्स एल

2

क्या आपकी स्थानीय मशीन सर्वर से सुलभ है? क्या आप इसे पिंग कर सकते हैं? मैं यह इसलिए पूछ रहा हूं क्योंकि आपकी मशीन सुलभ होने के कारण आप क्या काम कर रहे हैं। आपका सर्वर इंटरनेट पर है या लैन में, एक ही सबनेट?

वैसे भी यदि आपको केवल एक फ़ाइल को संपादित करने की आवश्यकता है, तो आप फ़ाइल को अपने स्थानीय मशीन में कॉपी करने के लिए केवल स्कैप का उपयोग क्यों नहीं करते हैं? आप दूरस्थ सर्वर पर फ़ाइल के लिए ब्राउज़ करने के लिए ssh का उपयोग कर सकते हैं और जब आपके पास इसका रास्ता होता है, तो अपने स्थानीय मशीन में दर्ज करें (दूसरे टर्मिनल में):

scp user@server:/path/to/file/on/server /local/path/to/save/file

फ़ाइल वापस करने के लिए, स्केप फिर से रास्तों पर स्विच करना।

अवलोकन: आपको scp का उपयोग करने के लिए प्रारंभिक ssh कनेक्शन की आवश्यकता नहीं है - यह एक नया निर्माण करेगा

यह ऊपर है अगर आपको इसे टर्मिनल में एक्सेस करने की आवश्यकता है। लिनक्स पर (और निश्चित रूप से मैक पर लेकिन मुझे नहीं पता कि यह कैसे करना है), आप नेटवर्क में एक ssh दूरस्थ स्थान माउंट कर सकते हैं और कनेक्शन का उपयोग कर सकते हैं क्योंकि आप एक स्थानीय डिस्क का उपयोग करते हैं (यह sftp है और कनेक्शन फॉर्म में है: sftp://user@server:/path/to/mountऔर मुझे लगता है कि आपको रिमोट टर्मिनल कनेक्शन के बजाय इसकी आवश्यकता है ताकि आप मैक एप्लिकेशन के साथ सीधे फाइल को संपादित कर सकें।


1

तुम भी एक नज़र रखना चाहते हो सकता है sshfs(आप इस के लिए MacFuse की जरूरत है )। यह आपको दूरस्थ मशीन पर निर्देशिकाओं को माउंट करने और उन्हें अपनी मशीन पर नियमित फ़ोल्डर्स की तरह एक्सेस करने की अनुमति देता है। उसके शीर्ष पर, आप अभी भी sshमशीन में जा सकते हैं और अपनी ज़रूरत की फ़ाइलों को बना / खोज सकते हैं। उन्हें स्थानांतरित करना तब स्थानीय फ़ाइलों को स्थानांतरित करने के रूप में आसान होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.