अपने वर्चुअलबॉक्स अतिथि में एसएसएच कैसे करें

How Ssh Into Your Virtualbox Guest



ऐसे समय होते हैं जब आप अपने वीएम तक रिमोट एक्सेस करना चाहते हैं। हो सकता है, यह सिर्फ एक सर्वर ऑपरेटिंग सिस्टम है जो वीएम के रूप में चल रहा है, जहां आप वास्तव में उन्हें तैनात करने से पहले अपने अनुप्रयोगों का परीक्षण करते हैं।

जब आप अपने वर्चुअल मशीन के GUI का उपयोग नहीं करना चाहते हैं तो आपके अतिथि OS में SSH की क्षमता काम आ सकती है। बस अपने VM को एक हेडलेस मोड में शुरू करें और SSH को अपने टर्मिनल में कई विंडो खोले बिना अंदर और बाहर करें।







उन लोगों के लिए जो एसएसएच के विचार के लिए नए हैं, हम सेटअप में गोता लगाने से पहले एसएसएच के कामकाज का संक्षिप्त परिचय देंगे। साथ ही हमें यह सुनिश्चित करने के लिए आपके VM की नेटवर्क संबंधी सेटिंग्स पर चर्चा करनी होगी कि आपके LAN में कहीं से भी उस VM तक आपकी पहुंच है।



एसएसएच कैसे काम करता है इसका सरलीकृत मॉडल यहां दिया गया है। आप अपने स्थानीय कंप्यूटर पर कुंजियों की एक जोड़ी बनाएँ। एक सार्वजनिक कुंजी और एक निजी कुंजी। सार्वजनिक कुंजी का उपयोग करके एन्क्रिप्ट किए गए संदेशों को निजी कुंजी का उपयोग करके और इसके विपरीत डिक्रिप्ट किया जा सकता है। ये कुंजियाँ आमतौर पर आपके स्थानीय कंप्यूटर पर एक पथ |_+_|(निजी कुंजी) और|_+_|(सार्वजनिक कुंजी) पर संग्रहीत की जाती हैं।



फिर आप अपने रिमोट सर्वर पर जाएं, एक नियमित या रूट उपयोगकर्ता के रूप में कंसोल में लॉगिन करें, उस सर्वर की फ़ाइल |_+_|खोलें। यहां आप अपनी सार्वजनिक कुंजी की सामग्री को वैसे ही दर्ज करें जैसे वह है। एक बार यह हो जाने के बाद, आप सर्वर पर उस उपयोगकर्ता के रूप में ssh कर सकते हैं, जिसकी .ssh निर्देशिका में आपके स्थानीय डिवाइस से अधिकृत_की हैं।





NS एन एस एक्सटेंशन का अर्थ है कि वह फ़ाइल सार्वजनिक कुंजी है जिसे आप किसी के साथ साझा कर सकते हैं। NS id_rsa अंश केवल यह दर्शाता है कि किस एन्क्रिप्शन सिफर का उपयोग किया जा रहा है (इस मामले में यह RSA होता है)। निजी कुंजी को एक पासफ़्रेज़ द्वारा संरक्षित किया जा सकता है जिसे आपको दर्ज करना होगा, हर बार जब आप उस निजी कुंजी का उपयोग करके किसी दूरस्थ सर्वर में लॉगिन करना चाहते हैं।

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



SSH-कुंजी सेटअप

पहले सुनिश्चित करें, अगर आपके होम डायरेक्टरी में पहले से कोई ssh-keys नहीं हैं। अपनी होम निर्देशिका की सामग्री की जाँच करें एसएसएचओ फ़ोल्डर। यदि संदेह है, तो निम्न आदेश निष्पादित करने से पहले इसकी सामग्री का बैकअप लें। Filezilla जैसे प्रोग्राम उपयोगकर्ता की जानकारी के बिना हर समय SSH कुंजियों का उपयोग करते हैं, इसलिए यह कदम काफी महत्वपूर्ण है।

अपने में स्थानीय मशीन , टर्मिनल खोलें और कमांड दर्ज करें:

$एसएसएच-कीजेन

इसके बाद ब्रैकेट में मानों के साथ निम्नलिखित संकेत दिए जाएंगे जो डिफ़ॉल्ट मानों को दर्शाते हैं। संकेतों के साथ आगे बढ़ें और अपनी कुंजियों को एक सुरक्षित पासफ़्रेज़ दें।

सत्यापित करें कि कुंजियाँ आपकी सामग्री की जाँच करके बनाई गई हैं ~/.ssh फ़ोल्डर।

$रास -तक~/एसएसएचओ

यदि आप में प्रदर्शित डिफ़ॉल्ट मानों से मेल खाने वाली फ़ाइलें देखते हैं एसएसएच-कीजेन शीघ्र तो सब कुछ ठीक काम किया है।

अब अपने लिए एक कंसोल खोलें आभासी मशीन . पहले जांचें कि आपके VM में SSH सर्वर चल रहा है या नहीं।

$सेवा sshd स्थिति

यदि यह स्थापित नहीं है, तो OpenSSH सर्वर को खोजने और स्थापित करने के लिए अपने पैकेज प्रबंधक का उपयोग करें। एक बार ऐसा करने के बाद सुनिश्चित करें कि आपके वीएम का फ़ायरवॉल पोर्ट नंबर 22 पर खुला है। उदाहरण के लिए, यदि आप उबंटू को वीएम के रूप में उपयोग कर रहे हैं, तो डिफ़ॉल्ट फ़ायरवॉल यूएफडब्ल्यूई या तो अक्षम किया जाना चाहिए या पोर्ट 22 कनेक्शन की अनुमति देनी चाहिए जैसे:

$सुडोयूएफडब्ल्यू स्थिति

यदि पोर्ट 22 पर नहीं खुला है, तो फॉलो कमांड का उपयोग करें:

$सुडोयूएफडब्ल्यू अनुमतिएसएसएचओ

अगला फ़ाइल खोलें ~/.ssh/authorized_keys अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके अपने VM पर। आप इस अगले चरण के लिए होस्ट-टू-अतिथि या द्विदिश क्लिपबोर्ड सक्षम करना चाह सकते हैं।

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

(वैकल्पिक) SSH-कुंजी का उपयोग नहीं करना

यदि आप अपने स्थानीय नेटवर्क पर भरोसा करते हैं, तो आप अपने UNIX पासवर्ड का उपयोग करने की कम सुरक्षित विधि का उपयोग अपने VM में ssh करने के लिए कर सकते हैं। फ़ाइल खोलें /आदि/ssh/sshd_config अपने VM पर और लाइन को बदलें:

#पासवर्ड प्रमाणीकरण संख्या

प्रति

पासवर्ड प्रमाणीकरणहां

एक बार यह हो जाने के बाद, अपने SSH सर्वर को पुनरारंभ करें।

$सेवा sshd पुनरारंभ करें

अब आप उस नियमित पासवर्ड का उपयोग कर सकते हैं जिसका उपयोग आप अपने वीएम में लॉगिन करने के लिए करते हैं और साथ ही उसमें एसएसएच भी करते हैं।

आपकी वर्चुअल मशीन और नेटवर्क

आपके VM में ssh करने के लिए, आपका स्थानीय कंप्यूटर (निजी कुंजी वाला) और VM दोनों एक ही नेटवर्क पर होना चाहिए। तो आप उस VM के IP एड्रेस तक पहुंच सकते हैं। हम आपको दिखाएंगे कि VM को अपने LAN में कैसे जोड़ा जाए।

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

अपने वीएम की सेटिंग में ब्रिजिंग नेटवर्किंग मोड को सक्षम करें और वीएम एक निजी आईपी के साथ आपके होम राउटर (या एक समान डीएचसीपी सर्वर) से जुड़ा हुआ दिखाई देगा। यदि कोई दूसरा उपकरण उसी नेटवर्क से जुड़ा है (जैसे, उसी होम राउटर से) तो इसका उपयोग VM में ssh करने के लिए किया जा सकता है।

वर्चुअलबॉक्स प्रबंधक खोलें, अपना लक्ष्य वीएम चुनें, खोलें सेटिंग्स → नेटवर्क और NAT के बजाय ब्रिज नेटवर्किंग का चयन करें।

जैसा कि आप देख सकते हैं कि मेरा होस्ट वायरलेस का उपयोग करके जुड़ा हुआ है ताकि वीएम द्वारा कनेक्शन भी साझा किया जा सके, यदि आप ईथरनेट का उपयोग कर रहे हैं, तो एक अलग इंटरफ़ेस नाम दिखाई देगा जो ठीक है।

अब, मेरा VM, जिसका नाम है उबंटूम, निम्नलिखित के रूप में मेरे लैन सेटअप पर दिखाई देता है। यह देखने के लिए कि क्या यह आपके लिए काम करता है, अपनी राउटर सेटिंग्स की जाँच करें।

एक बार जब आप अपने VM का IP पता जान लेते हैं, तो आप कमांड चलाकर उसमें SSH कर सकते हैं:

$एसएसएचओ <उपयोगकर्ता नाम> @ip.address.of.your.vm

यदि आपने उपरोक्त चरणों में अपनी निजी कुंजी के लिए पासफ़्रेज़ रखा है, तो आपको इसे फिर से दर्ज करने के लिए प्रेरित किया जाएगा।

इतना ही! अब आप अपने VMs को हेडलेस मोड में शुरू कर सकते हैं और उन्हें अपने घर में कहीं से भी ssh कर सकते हैं। आशा है कि आपको यह ट्यूटोरियल दिलचस्प लगा होगा, हमें बताएं कि क्या कोई विषय है जिसे आप हमें कवर करना चाहते हैं।