पोटीन के साथ स्थानीय वीएम उबंटू के लिए एसएसएच की कोशिश कर रहा है


145

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

मैंने पुट्टी के भीतर मेजबान नाम में "127.0.0.1" डालने की कोशिश की और बस "कनेक्शन अस्वीकृत" प्राप्त किया। ध्यान दें कि मैंने ओएमएल वीएम के भीतर एसएसएच और एचटीटीपी के लिए पोर्ट अग्रेषण किया है, इसलिए मुझे नुकसान हो रहा है कि इसे कैसे चलाया जाए।


FWIW ब्रिजेड / होस्ट केवल मेरे लिए काम नहीं करता था, लेकिन मैं इसके चारों ओर काम करने में सक्षम था, संक्षेप में, केवल SSH'ing "आउट" (scp दोनों तरीकों से जा सकता है, आखिरकार) इसलिए मुझे SSH एक्सेस की आवश्यकता नहीं थी मेहमान के भीतर।
रॉगरडैक

जवाबों:


183

VirtualBox एक निजी नेटवर्क (10.0.2.x) बनाएगा जो NAT का उपयोग करके आपके होस्ट नेटवर्क से जुड़ा होगा । (अन्यथा कॉन्फ़िगर नहीं किया गया है।)

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

इस तरह, आप पोटीन को 127.0.1.1 के पोर्ट 22 पर इंगित कर सकते हैं और वर्चुअलबॉक्स इस कनेक्शन को आपके वीएम पर पुनर्निर्देशित कर देगा, जहां इसका ssh डेमन इसका उत्तर देगा, जिससे आप लॉग इन कर सकते हैं।


20
धन्यवाद, यह मेरे लिए काम किया। साइबरगन से मैं अभी ssh username@127.0.1.1और मैं अंदर हूँ। आपको जिस पैनल की आवश्यकता है वह है सेटिंग्स-> नेटवर्क-> पोर्ट फ़ॉरवर्डिंग, और मेरा अब जैसा दिखता है: imgur.com/BjGh3N2
user7543

38
यदि आप पहले से ही अपने होस्ट पर चल रहे हैं तो यह काम नहीं करेगा क्योंकि पोर्ट ओवरलैप होते हैं। रीडायरेक्ट पोर्ट 127.0.1.1.12222 से 10.0.2.X: 22 और फिर 'ssh 127.0.1.1 -p 2222' को अपने होस्ट से
चलाएं

8
इसके अलावा, सुनिश्चित करें कि आपके पास क्लाइंट ओएस पर ओपनश-सर्वर स्थापित है। sudo apt-get install ओपनश-सर्वर
Illuminati

17
बस यह मुद्दा खुद था - स्पष्टीकरण के लिए धन्यवाद। मैंने मूल रूप से आपके द्वारा कही गई बातों का पालन किया। मैं सेटिंग्स में गया और मेरे कनेक्शन ने 'NAT' दिखाया। मैंने स्क्रीन के निचले भाग में 'पोर्ट फ़ॉरवर्डिंग' विकल्प पर क्लिक किया। मैंने इसे 'PuTTY-port-fwd', प्रोटोकॉल TCP, होस्ट IP 127.0.0.1 होस्ट पोर्ट 2222 गेस्ट IP 10.0.2.15 गेस्ट पोर्ट 22 नाम दिया। मैंने इसके बाद PuTTY लॉन्च किया और इसे 127.0.0.1.12222 पर सेट किया और इसे कनेक्ट किया गया। मेरी OpenSUSE वी.एम. धन्यवाद दोस्तों, उम्मीद है कि यह भविष्य में किसी को भी मदद करता है ;-)
BubbleMonster

3
इसने मेरे लिए काम किया, हालाँकि मुझे VirtualBox को 127.0.0.1 पर पोर्ट 2222 खोलने के लिए कहना पड़ा। तब मैं इन का उपयोग कर लॉग ऑन करने में सक्षम थाssh -p 2222 user@127.0.0.1
mchen.ja

44

मैं अपने ubuntu को वर्चुअल बॉक्स से जोड़ने के लिए पोटीन का उपयोग करना चाहता था (आराम से कारण, वीबी सिर्फ अजीब है। मैं तब तक काम नहीं कर सकता जब तक कि यह उचित टर्मिनल पर न हो)। वैसे भी,

  1. सुनिश्चित करें कि ssh क्लाइंट आपके लिनक्स पर स्थापित है। यदि नहीं, तो इसे स्थापित करें sudo apt install ssh
  2. OS बंद करें।
  3. अब अपने VB Settings -> Network ->पर Adapter 1चुने Host-only adapter-> क्लिक पर जाएँ OK
  4. अब अपना OS शुरू करें। भागो ifconfig; अब inet एड्रेस आपका IP है।
  5. इस का उपयोग करें और इसे अपने पोटीन पर चलाएं। अपने क्रेडेंशियल के साथ लॉगिन करें।

होस्ट-ओनली अडैप्टर का उपयोग करने का एकमात्र नुकसान यह है कि आपके अतिथि OS का व्यापक नेटवर्क (जैसे इंटरनेट) तक पहुंच नहीं होगी।

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


4
"ब्रिजिंग" आपके स्थानीय इंटरफेस पर आईपी डाल देगा और बड़े इंटरनेट तक पहुंच बना देगा
ड्यूक

2
दो इंटरफेस का उपयोग करने का लाभ, जैसा कि यहाँ वर्णित है, ओवर ब्रिजेड है, आप अपने अनुरोधों को स्वीकार करने वाले स्थानीय dhcp सर्वर पर भरोसा नहीं करते हैं। सार्वजनिक स्थानों (ariport, हवाई जहाज, होटल, और यहां तक ​​कि अधिकांश कंपनी नेटवर्क) में अधिकांश dhcp सर्वर एक ही वाईफाई एडेप्टर के माध्यम से एक दूसरे आईपी की पेशकश नहीं करेंगे, इसलिए उन वातावरण में एक ब्रिड वीएम काम नहीं करेगा। इस विशेष कॉन्फ़िगरेशन को कैसे सेट किया जाए, इस पर एक बहुत अच्छा कदम-दर-चरण यहाँ है: christophermaier.name/2010/09/01/…
Yves Dorfsman

एक आकर्षण की तरह काम करें, लेकिन आपको एडॉप्टर 2 को तीसरे विकल्प पर रखना चाहिए ताकि लोग NAT को अकेले छोड़ दें
user3502626

बहुत बहुत धन्यवाद।
ल्यूक

बहुत बहुत धन्यवाद। लेकिन जब मैं उबंटू नेटवर्क सेटिंग NATको host only adapterइसमें से बदलूंगा तो यह इंटरनेट से नहीं जुड़ सकता है, कोई समाधान?
ल्यूक

19

पहले आपको यह तय करने की आवश्यकता है कि क्या आपका वीएम आपके मेजबान मशीन से एक पुल कनेक्शन या नैट के माध्यम से जुड़ा हुआ है, लेकिन किसी भी तरह से आपको वीएम आईपी पते को पोटीन में वीएम टर्मिनल रन में आईपी से कनेक्ट करने में सक्षम होने की आवश्यकता होगी यह आदेश आपको मशीन का आईपी पता दिखाने के लिए (और कोई 127.0.0.1 मशीन आईपी पता नहीं है)

VM # ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
       valid_lft forever preferred_lft forever

इस स्थिति में मेरा आईपी पता 10.0.2.15 तक होगा,

पहले यह सुनिश्चित करने का प्रयास करें कि आप VM के साथ एक बुनियादी स्तर पर संवाद कर सकते हैं, अपने होस्ट पर एक टर्मिनल विंडो खोल सकते हैं और VM को पिंग करने का प्रयास कर सकते हैं।

HOST # ping 10.0.2.15

PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms

यदि आपको चींटी परिणाम मिलता है, तो सुनिश्चित करें कि आपके पास वीएम पर चल रही एक ssh सेवा है, टर्मिनल में अपने VM प्रकार पर रूट के रूप में,

VM # netstat -lnpt | grep 22
tcp   0  0  0.0.0.0:22  0.0.0.0:*  LISTEN  2361/sshd

यह बताएं कि हमारे पास PID (2361) के साथ एक सेवा / प्रक्रिया है जिसे sshd (OpenSSH डेमॉन) कहा जाता है, जो पोर्ट 22 को सुनता है।

आप परीक्षण कर सकते हैं कि क्या वीएम से स्व को यह सेवा करने का प्रयास करके सेवा सही ढंग से काम करती है,

VM # ssh 127.0.0.1

इसके बाद आप यह सुनिश्चित करने के लिए कि आप अपने फ़ायरवॉल / iptables में पोर्ट 22 को ब्लॉक नहीं कर रहे हैं, मैं ऐसा नहीं मान सकता, लेकिन फिर भी इसे देखें। VM में आपको iptables दिखाने के लिए यह कमांड टाइप करें,

VM # iptables -nvL INPUT

आउटपुट में आपके पास इस तरह की लाइन होनी चाहिए:

0  0  ACCEPT  tcp  --  *  *  0.0.0.0/0  0.0.0.0/0  tcp  dpt:22  ctstate  NEW

कोशिश की, और जाहिर है मेरे आईपी पते 10.0.2.15 है। मैंने पुट्टी में प्रवेश करने की कोशिश की और बस connection timed outफिर से त्रुटि हुई। मैं भी कोशिश की nvLकमान आप का उल्लेख है, और सामान (एक बेहतर शब्द की कमी के लिए) का भार मिल - Chain INPUT (policy accept......, chain FORWARD.....आदि
wickywills

मैं अपने उत्तर को कुछ और बिंदुओं के साथ फिर से लिख सकता हूं जिन्हें आप जांच सकते हैं, कृपया मुझे बताएं।
राबिन

2
क्या होगा अगर 10.0.2.15 बार पिंग हो? मैं NAT का उपयोग करता हूं।
डैन डस्केल्सस्कु


सुविधा के लिए: iptables -A INPUT -p tcp --dport ssh -j ACCEPTयदि आप अपने iptables में tcp नहीं देखते हैं तो आने वाले ट्रैफ़िक को अनुमति देगा।
एरिक हॉजिंस

15

मेरा संकल्प रोमन टी के समान था लेकिन मुझे कुछ अतिरिक्त कदम जोड़ने की जरूरत थी। मेरे मामले में, मेरे पास Ubuntu सर्वर 14 वीएम विंडोज 2008 डोमेन में विंडोज 8 डेस्कटॉप पर चल रहा था। अगर मैंने NAT या ब्रिज की कोशिश की तो मैं इंटरनेट एक्सेस कर सकता हूं लेकिन SSH के माध्यम से कनेक्ट नहीं कर सकता।

अगर मैंने होस्ट ओनली अडैप्टर की कोशिश की तो वह मुझे SSH मशीन की अनुमति देगा लेकिन इंटरनेट तक नहीं पहुंच सकता।

मैंने पोर्ट अग्रेषण की कोशिश की और कोई खुशी नहीं हुई। विंडशार्क खोला और यह सिर्फ वीएम नहीं ढूंढ रहा था।

तो मेरा समाधान एक दूसरे नेटवर्क एडेप्टर को जोड़ना था।

तरीका

वीएम द्वारा संचालित के साथ

  1. सेटिंग्स> नेटवर्क क्लिक एडॉप्टर 1 पर क्लिक करें और ब्रिजेड एडेप्टर चुनें
  2. एडेप्टर 2 पर क्लिक करें और होस्ट केवल एडेप्टर चुनें
  3. यदि आप NAT नेटवर्क नहीं देखते हैं तो NAT नेटवर्क के तहत File> Preferences> Networks पर क्लिक करें।
  4. होस्ट-ओनली नेटवर्क्स पर क्लिक करें यदि आपको एक होस्ट ओनली नेटवर्क नहीं दिखता है तो एक को जोड़ने के लिए + आइकन पर क्लिक करें

VM शुरू करें

  1. नेटवर्क एडेप्टर देखने के लिए आपको टाइप करना होगा

    ifconfig -a
    
  2. आप देख सकते हैं कि नेटवर्क एडेप्टर मैक एड्रेस के साथ जोड़ा जाता है लेकिन आईपी नहीं?

  3. यदि ऐसा है तो आपको डीएचसीपी को कॉन्फ़िगर करने के लिए / etc / network / इंटरफेस को संपादित करने की आवश्यकता है। VI / VIM का उपयोग करके नीचे दिए गए उदाहरण लेकिन आप अपनी पसंद के संपादक का उपयोग कर सकते हैं

    sudo vi /etc/network/interfaces
    
  4. लाइनें जोड़ें

    auto eth1
    iface eth1 inet dhcp
    
  5. फ़ाइल सहेजें और बाहर निकलें।
  6. फिर नीचे कमांड का उपयोग करके नेटवर्क सेवा को पुनरारंभ करने का प्रयास करें

    sudo service networking restart
    
  7. या यदि वह विफल रहता है तो VM को पुनरारंभ करें।
  8. एक बार फिर से टाइप करने के लिए नीचे देखें कि क्या आपको eth1 को IP एड्रेस आवंटित किया गया है

    ifconfig -a
    
  9. यदि ऐसा है तो देखें कि क्या आप वीएम पर एसएसएच कर सकते हैं

मैंने आपके समाधान की कोशिश की थी, लेकिन कोई आईपी नए इंटरफ़ेस को नहीं सौंपा गया है। मेरे VBox में डीएचसीपी सक्षम होने से अधिक क्या है।
एथलन

12

निम्न निर्देशों ने Ubuntu 14.04 और Oracle VirtualBox 4.3.30 के साथ काम किया।

VirtualBox में ऐसा करें:

  1. अपनी वर्चुअल मशीन पर राइट-क्लिक करें, "सेटिंग" चुनें, और फिर "नेटवर्क" चुनें।

  2. "संलग्न" के बगल में, "होस्ट-ओनली एडेप्टर" चुनें। साइड नोट के रूप में, "ब्रिज्ड एडेप्टर" भी काम करेगा, प्रत्येक विकल्प के बारे में अधिक विवरण के लिए वर्चुअलबॉक्स प्रलेखन की जांच करें।

इसे अपनी वर्चुअल मशीन के अंदर करें:

  1. एक टर्मिनल खोलकर और टाइप करके अपना नेटवर्क आईपी पता खोजें ifconfig। "Inet addr" के तहत, eth0 के आगे प्रदर्शित आईपी पते को देखें। यदि आप अपने डेस्कटॉप के ऊपरी-दाएँ कोने में नेटवर्क आइकन पर क्लिक करते हैं, तो आप अपना आईपी पता भी देख सकते हैं और फिर "कनेक्शन सूचना" का चयन कर सकते हैं।

  2. टर्मिनल पर निम्नलिखित टाइप करके ओपनश-सर्वर स्थापित करें:

    sudo apt-get install openssh-server
    
  3. बस मामले में, वर्चुअल मशीन को पुनरारंभ करें।

अब आप ऊपर दिए गए चरण 1 और पोर्ट 22 से आईपी पते का उपयोग करके PuTTY से जुड़ सकते हैं।


2

Ubuntu 18.04 और VirtualBox 5.2 के लिए:

  1. एक होस्ट नेटवर्क इंटरफ़ेस बनाएँ

    मैं। वर्चुअलबॉक्स पर, क्लिक करें File/ Host Network Manager

    ii। यदि आपके पास पहले से होस्ट नेटवर्क एडेप्टर (डिफ़ॉल्ट vboxnet0) नहीं है, तो क्लिक करें Create

  2. VM के लिए होस्ट-केवल एडेप्टर सेटिंग्स सक्षम करें

    मैं। वर्चुअलबॉक्स पर, अपने वीएम पर राइट क्लिक करें और चुनें Settings

    ii। क्लिक करें Networkऔर चुनें Adapter 2

    iii। क्लिक करें Enable Network Adapter

    iv। Attached to:चयन के तहत Host-only Adapter। आपके द्वारा चरण 1 में बनाए गए एडेप्टर का नाम प्रकट होना चाहिए (डिफ़ॉल्ट vboxnet0)।

  3. VM में नेटवर्क सेटिंग्स कॉन्फ़िगर करें

    मैं। अपना VM प्रारंभ करें और जांचें कि कौन सा इंटरफ़ेस जोड़ा गया था ip a:। उस इंटरफ़ेस की तलाश करें जिसका कोई inetपता नहीं है । खदान पर, यह था enp0s8

    ii। संपादित करें /etc/netplan/01-netcfg.yaml। उदा sudo vi /etc/netplan/01-netcfg.yaml

    iii। मूल एडाप्टर के लिए सेटिंग्स के तहत, विन्यास विवरण जोड़ें:

    enp0s8:
        addresses: [192.168.56.2/24]
        gateway4: 192.168.56.1
        dhcp4: no
    

    यह SSH सुविधा के लिए आपके VM के लिए एक स्थिर IP पता प्रदान करता है। यदि आप dhcpइसके बजाय एड्रेसिंग को हैंडल करना चाहते हैं , तो एड्रेस और गेटवे कॉन्फिगरेशन को छोड़ दें और सेट dhcp4करें yes

    iv। कॉन्फ़िगरेशन फ़ाइल को पुनः लोड करें sudo netplan apply:।

  4. अपने वीएम में एसएसएच

    मैं। यदि आपने sshVM में स्थापित नहीं किया है sudo apt install ssh:।

    ii। अपने मेजबान मशीन से, एसएसएच वीएम में ssh <username>@192.168.56.2:।


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