3 कंप्यूटर के बीच संबंध बनाना


0

मेरे पास 3 अलग-अलग नेटवर्क पर 3 मशीनें हैं।

होम :

  • इंटरनेट के साथ लेकिन किसी भी स्थानीय मशीन से नहीं जुड़ा है, सूडो के साथ।

काम :

  • Www इंटरनेट के माध्यम से उपलब्ध ssh के साथ,
  • होम के लिए ssh कर सकते हैं काम , लेकिन इसके विपरीत नहीं
  • काम आउटगोइंग और इनकमिंग ssh दोनों कर सकते हैं
  • मेरे पास है नहीं इस कंप्यूटर पर sudo एक्सेस
  • मशीन नहीं है iptables स्थापित

सर्वर :

  • सर्वर www इंटरनेट से जुड़ा है
  • सर्वर के लिए ssh कर सकते हैं काम , लेकिन इसके विपरीत नहीं
  • सर्वर केवल निवर्तमान ssh कर सकते हैं।
  • इस कंप्यूटर पर मेरे पास sudo एक्सेस है।

तो अब नेटवर्क यह कर सकता है:

गृह - & gt; कार्य और लेफ्टिनेंट; - सर्वर

इस विन्यास को देखते हुए मैं कैसे प्राप्त करूं होम से कनेक्ट करना है सर्वर ? सभी तीन मशीनें उबंटू चल रही हैं। मेरे पास केवल तीनों मशीनों तक कमांड लाइन पहुंच है।


मेरा जवाब है इस क्या मैं आपकी मदद कर सकता हूँ। मुझे नहीं पता कि आप घर से सर्वर तक एसएसएच क्यों नहीं कर सकते, किस तरह का नेटवर्क सर्वर पर है? और क्या इसमें एक इंटरनेट आईपी या एक स्थानीय नेटवर्क आईपी है?
Tyson

फिर आपको सही स्थानीय मशीन के लिए आने वाले कनेक्शन को अग्रेषित करना होगा। वास्तव में मैंने जो उत्तर दिया है, उसके बारे में।
Tyson

कैसे मैं कमांड लाइन में है?
alvas

मुझे लगता है कि एक कारण है जो आपने सर्वर और होम कंप्यूटर पर एसएसएच सर्वर स्थापित नहीं किया है? यह बहुत स्पष्ट आसान उत्तर होगा, जब तक कि आप किसी तरह के फ़ायरवॉल या NAT के पीछे नहीं होते, तब तक आप दोनों पर रूट एक्सेस का विचार कर सकते हैं।
0xDAFACADE

आह, इसका मतलब है कि मैं नेटवर्क पर कोई नियंत्रण नहीं है? मैं केवल सर्वर का उपयोग करने के लिए काम का उपयोग करने के लिए अपने कार्यालय को प्राप्त कर सकता हूं?
alvas

जवाबों:


1

आपको इस ssh समाधान के लिए sudo की आवश्यकता नहीं होनी चाहिए।

सबसे पहले, SERVER पर कमांड लाइन पर, एक रिमोट पोर्ट सेट करें, जो WORK मशीन से SERVER तक आगे बढ़ रहा हो:

SERVER$ ssh -f -N -R 23456:SERVER:22 workuser@WORK

फिर, जब तक वह प्रक्रिया चल रही है, तब तक आपको ऐसा करने में सक्षम होना चाहिए:

HOME$ ssh -t workuser@WORK ssh -p23456 serveruser@localhost

यही है, घर से, आपको काम से कनेक्ट करने में सक्षम होना चाहिए, फिर ssh सुरंग के माध्यम से SERVER मशीन के लिए।

यह उपयोग करने के लिए संभव होना चाहिए: 23456 यह निर्दिष्ट करने के लिए कि ssh को सभी इंटरफेस पर सुनना चाहिए कार्य मशीन, लेकिन वह मेरे लिए काम नहीं किया, संभवतः क्योंकि GatewayPorts अक्षम किया गया था। यदि यह काम करता है, तो दूसरी कमांड को सरल बनाया जा सकता है:

HOME$ ssh -p23456 serveruser@WORK

मुझे लगता है कि SERVER कुछ प्रकार के फ़ायरवॉल के पीछे है, मैं WORK से पोर्ट के माध्यम से ssh करने में असमर्थ हूँ ...
alvas

SERVER के सामने कोई भी फ़ायरवॉल मायने नहीं रखता, क्योंकि वह पहुँच चुका है बाहर किसी भी फ़ायरवॉल के माध्यम से WORK से बात करने के लिए, और -f ध्वज के साथ, वह कनेक्शन जारी रहना चाहिए। फिर दूसरी कमांड में (जिसे आप चाहें तो दो चरणों में तोड़ सकते हैं), आप पहले से स्थापित सुरंग से जुड़ रहे हैं, और बस पैकेट वापस भेज रहे हैं। क्या आप "ps" के माध्यम से काम पर पुष्टि कर सकते हैं कि SERVER से कनेक्शन अभी भी है?
Nick Russo

wohoo, आह, serveruser @ localhost @localhost है, न कि सर्वर IP =) धन्यवाद अब इसके माध्यम से मिला !!!
alvas

1
अति उत्कृष्ट! बस ध्यान दें कि अगर किसी कारण से (नेटवर्क मुद्दों, प्रक्रिया को मारा जाता है, आदि) के लिए SERVER से आउटबाउंड ssh सुरंग को मार दिया जाता है, तो आप तब तक अटके रहते हैं जब तक आप सुरंग को फिर से शुरू करने के लिए सीधे SERVER में नहीं जा सकते। आप हो सकता है उस सुरंग की जाँच करने के लिए एक क्रॉन जॉब स्थापित करना चाहते हैं और उसे पुनः लोड करें, जिसके लिए ssh कीज़ आदि की आवश्यकता हो सकती है, लेकिन अब आपको मूल समाधान मिल गया है।
Nick Russo

एक लाख धन्यवाद, मैं हर 15 मिनट में सुरंग कमांड को स्पैम करने के लिए एक क्रोन सेट करता हूं =)
alvas
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.