SSH कनेक्शन पर w3m के बजाय वास्तविक ब्राउज़र का उपयोग करें


10

मैं डेस्कटॉप और सर्वर ओएस के रूप में उबंटू का उपयोग कर रहा हूं। जब मैं सर्वर sshपर लॉग इन होता हूं और मुझे सर्वर पर terminalएक वेब-पेज (लोकलहोस्ट) देखना होता है, जिसका उपयोग मैं w3m ( w3m localhost) करता हूं ।

दुर्भाग्य से w3m को संभालना आसान नहीं है, क्योंकि पेज में कुछ बड़े मेनू हैं और jQuery का उपयोग करता है। इसलिए मैं सोच रहा हूं कि क्या एसएसएच के माध्यम से सर्वर से कनेक्ट करने के लिए मेरे डेस्कटॉप पर एक ब्राउज़र का उपयोग करना संभव है, असली ब्राउज़र (फ़ायरफ़ॉक्स या क्रोम) के साथ।

मूल रूप से यह एक साथ SSH पर सर्वर से मेरे डेस्कटॉप पर ब्राउज़र के साथ कनेक्ट करने की आवश्यकता होगी usernameऔर passwordउस सर्वर पर, और खुले localhost

क्या यह डिफ़ॉल्ट रूप से संभव है, या फ़ायरफ़ॉक्स / क्रोम के लिए कोई ऐड-ऑन हैं? मैं फ़ायरफ़ॉक्स पसंद करूंगा।


आपके प्रश्न का उत्तर नहीं है, लेकिन ... एक्स अग्रेषण का उपयोग करने के बारे में क्या है ?.
जेवियर रिवेरा

1
आप दूरस्थ सर्वर से http के माध्यम से क्यों नहीं जुड़ सकते हैं? क्या आपको विशेष रूप से परीक्षण प्रयोजनों के लिए लोकलहोस्ट से उत्पन्न होने के अनुरोध की आवश्यकता है? @ जेवियर एक्स फॉरवर्डिंग, विशेष रूप से फ़ायरफ़ॉक्स के लिए, बैंडविड्थ पर भारी है और मैं इसे गैर-स्थानीय कनेक्शन के लिए अनुशंसित नहीं करूंगा।
कार्स्टन थिल

यह एक तरफ परीक्षण के उद्देश्यों के लिए है, इसलिए इसे लोकलहोस्ट होने की आवश्यकता है। दूसरी ओर रिमोट सर्वर स्थानीय नेटवर्क में नहीं है और इसे सामान्य http पर नहीं पहुँचा जा सकता है।
पिट

हाँ, बैंडविड्थ एक चिंता का विषय है जब X को अग्रेषित किया जा रहा है।
जेवियर रिवेरा

जवाबों:


14

Ssh पोर्ट फ़ॉरवर्डिंग का उपयोग करें।

दूरस्थ सर्वर से इस तरह से कनेक्ट करें:

ssh -L 8080:localhost:80 user@remoteserver

अब, अपने स्थानीय ब्राउज़र को लोकलहोस्ट पर इंगित करें: 8080। इसे दूरस्थ सर्वर में लोकलहोस्ट: 80 पर भेजा जाना चाहिए।


मैंने अभी अपने स्थानीय नेटवर्क के सर्वर पर यह परीक्षण किया है, और यह काम करने लगता है। मैं बाद में रिमोट सर्वर से इसका परीक्षण करूंगा।
गड्ढे

6

भाग 1

Ssh के साथ एक मोज़े प्रॉक्सी बनाओ!

ssh -D 9999 user@remoteserver

अब अपनी फ़ायरफ़ॉक्स वरीयताओं को खोलें, उन्नत> नेटवर्क> सेटिंग्स पर जाएं। मैन्युअल प्रॉक्सी कॉन्फ़िगरेशन चुनें। SOCKS होस्ट के लिए लोकलहोस्ट रखो, पोर्ट के लिए 9999 रखो। Http://whatismyip.org या कुछ इसी तरह की साइट पर जाकर इसका परीक्षण करें ।

क्योंकि आपने कहा था कि आप लोकलहोस्ट (अपने सर्वर के सापेक्ष) में एक वेब पेज तक पहुँचने की कोशिश कर रहे हैं, आप शायद लोकलहोस्ट और 127.0.0.1 को प्रॉक्सी के इस्तेमाल से बाहर नहीं करना चाहते। बेशक, आप सर्वर के स्थानीय आईपी का उपयोग कर सकते हैं।

यदि आपको मेरी व्याख्या पसंद नहीं है, तो इन लिंक्स ने इसे लिखते समय मेरी याददाश्त को जॉग किया:

http://linux.die.net/man/1/ssh

http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

भाग 2

आपको जो त्रुटि मिली, channel 3: open failed: connect failed: Connection refusedउसका ssh से कोई लेना-देना नहीं है। जाहिरा तौर पर आप कुछ mysql चीज़ तक पहुँचने की कोशिश कर रहे हैं। इसकी एक अतिरिक्त चुनौती है, क्योंकि mysql डिफ़ॉल्ट रूप से ssh सुरंगों से पहुंच को अवरुद्ध करता है। मैं mysql नहीं करता, इसलिए मुझे नहीं पता कि मैं इसके बारे में क्या बात कर रहा हूं। मैं लिंक के प्रासंगिक बिट्स को अंत में उद्धृत कर रहा हूं, जिन्हें आपको पढ़ना चाहिए।

/Etc/mysql/my.cnf खोलें और [mysqld] अनुभाग देखें। यदि आप एक लाइन "स्किप-नेटवर्किंग" देखते हैं, तो टिप्पणी करें। "बाइंड-एड्रेस = 127.0.0.1" (बिना उद्धरण के, निश्चित रूप से) जोड़ें।

http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused

भाग ३

जेवियर का समाधान ssh -L 8080:localhost:80 user@remoteserverशानदार है अगर आपको केवल एक स्थान तक पहुंच की आवश्यकता है। यह आपको लोकलहोस्ट एक्सेस करने देता है, और आपके बाकी इंटरनेट को अकेला छोड़ देता है। Ssh -D के साथ मेरा समाधान आगे तक जाता है, और वास्तव में आपके सभी HTTP अनुरोधों को दूरस्थ सर्वर तक निर्देशित करेगा। जाहिर है कि आप वास्तव में ऐसा नहीं चाहते होंगे। लेकिन मुझे यह तब उपयोगी लगा जब मैं चाहता था कि मुझे किसी नेटवर्क पर सभी मशीनों तक http की पहुंच हो, या जब मैं नहीं चाहता था कि मेरा http अनुरोध नेटवर्क से गुजर रहा हो (जिसमें, स्टारबक्स पर ऑनलाइन बैंकिंग हो)। मेरे घर इंटरनेट के लिए ssh सुरंग के माध्यम से।)


फ़ायरफ़ॉक्स में 'लोकलहोस्ट' का अनुरोध करने पर मुझे टर्मिनल में एक त्रुटि मिलती है जहां मैंने ssh कनेक्शन खोला है channel 3: open failed: connect failed: Connection refused:। मेरे पास इसे देखने का समय नहीं था, लेकिन शायद आप जानते हैं कि यह क्या हो सकता है?
गड्ढे

मैंने ssh के मैन पेज में देखा कि -Dविकल्प का उपयोग करने के लिए आपको रूट होना चाहिए । यही कारण है कि यह काम नहीं करेगा और काम नहीं करेगा, क्योंकि मैं सर्वर (सुरक्षा कारणों से) के रूप में रूट से कनेक्ट नहीं कर सकता।
गड्ढे

क्या? मैंने हर समय सुरंग के दोनों सिरों पर एक सामान्य उपयोगकर्ता के रूप में इसका इस्तेमाल किया। ओह मैं समझा। यदि आप कोशिश करते हैं और 80, या 21, या अन्य IANA आरक्षित बंदरगाहों जैसे पोर्ट का उपयोग करते हैं, तो आपको रूट होना चाहिए। 1024 से अधिक कुछ भी ठीक होना चाहिए। मुझे लगता है कि त्रुटि आपके ssh.conf के साथ आगे की ओर अवरुद्ध है। मैं अब उन लाइनों के साथ गुगली कर रहा हूँ।
djikybb

मैंने आपकी त्रुटि को नजरअंदाज कर दिया, और इस लेख के साथ आया जो कहता है कि mysql में एक सुरक्षा "सुविधा" है जो डिफ़ॉल्ट रूप से पोर्ट फ़ॉर्वर्ड से एक्सेस को ब्लॉक करता है। debuntu.org/…
djeikyb

2

आप SSH के माध्यम से X अग्रेषण का उपयोग कर सकते हैं ताकि सर्वर पर आपके द्वारा चलाए जाने वाले कोई भी X अनुप्रयोग आपके व्यक्तिगत कंप्यूटर पर दिखाई दें।

  1. सर्वर से SSH के साथ कनेक्ट होने पर, -X ध्वज जोड़ें। उदाहरण के लिए, ssh -X myserver
  2. सर्वर पर एक जीयूआई ब्राउज़र स्थापित करें और बस इसे चलाएं। आउटपुट आपके निजी कंप्यूटर पर X अग्रेषण और सुरक्षित SSH कनेक्शन के माध्यम से दिखाई देगा।

जैसा कि कार्स्टन ने मेरे प्रश्न के बारे में अपनी टिप्पणी में उल्लेख किया है और इस संबंध में कि रिमोट सर्वर मेरे स्थानीय नेटवर्क में नहीं है, बैंडविड्थ के बारे में क्या है?
गड्ढे

आपको अपनी बैंडविड्थ आवश्यकताओं को परिभाषित करने की आवश्यकता होगी। असफल होना, आप इसे एक बार दे सकते हैं और देख सकते हैं कि यह कैसे काम करता है।
user4124
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.