VirtualBox के साथ Vagrant ssh विफल रहता है


39

जब वह ssh भाग में पहुँच जाता है, तो वारण्ट अप विफल हो जाता है:

myterminal$ vagrant up
[default] VM already created. Booting if its not already running...
[default] Running any VM customizations...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- ssh: 22 => 2222 (adapter 1)
[default] -- db2: 30003 => 30003 (adapter 1)
[default] Cleaning previously set shared folders...
[default] Creating shared folders metadata...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

फिर जब मैं बाद में कोशिश करता हूं और योनि ssh या योनि पुनः लोड या इसी तरह का उपयोग करके कनेक्ट करता हूं, तो मुझे यह मिलता है:

myterminal$ vagrant reload
[default] Attempting graceful shutdown of linux...
SSH connection was refused! This usually happens if the VM failed to
boot properly. Some steps to try to fix this: First, try reloading your
VM with `vagrant reload`, since a simple restart sometimes fixes things.
If that doesn't work, destroy your VM and recreate it with a `vagrant destroy`
followed by a `vagrant up`. If that doesn't work, contact a Vagrant
maintainer (support channels listed on the website) for more assistance.

कृपया सहायता कीजिए! मैं वास्तव में स्टम्प्ड हूं।

सधन्यवाद,

ल्यूक

जवाबों:


10

मैंने अपने सेटअप के साथ इस समस्या को देखा और अंततः इसे इस तथ्य तक सीमित कर दिया कि मैंने स्थानीय होस्ट्स फ़ाइल में नाम जोड़ा है। तो मेरे पास था:

127.0.0.1 localhost myname myalias

निकाला गया myaliasजो मैं जोड़ा था और यह ठीक हटा दिया गया। यह संबंधित नेटवर्किंग था कि सुराग के लिए @saphirlazuli के लिए धन्यवाद।


यदि मैं मलियाओं को संरक्षित करना चाहता हूं तो वर्कअराउंड क्या है?
मिकी चेयोंग

यदि आप एक उपनाम का उपयोग करना चाहते हैं, तो डेबियन / उबंटू तरीका यह है कि पहली पंक्ति को बस के रूप में रखें 127.0.0.1 localhost, लेकिन अपने उपनामों के साथ दूसरी पंक्ति जोड़ें, जैसे:127.0.1.1 foo bar baz
कोडगॉन

26

मुझे वैग्रेंट साइट के "गेटिंग स्टार्ट" में दिए गए बॉक्स के साथ भी यही समस्या थी। नीचे मेरा समाधान इस ट्यूटोरियल बॉक्स के लिए है।

मुझे यहाँ एक समाधान मिला: https://github.com/mitchellh/vagrant/issues/391

  1. VagrantFile में, gui मोड जोड़ें: config.vm.boot_mode = :gui
  2. रन vagrant up
  3. in gui, उपयोगकर्ता "योनि" (पासवर्ड = "आवारा") के साथ लॉग इन करें
  4. फ़ाइल sudo /etc/init.d/networking restartमें गुई, भागो /etc/network/interfaces, आप के साथ अब एक अनुभाग होना चाहिए#VAGRANT-BEGIN [...]#VAGRANT-END
  5. vagrant reloadभौतिक मशीन पर चलाएं

3
यह मेरे लिए काम किया, धन्यवाद। मेरे पास वैग्रैंट पहले चल रहा था, फिर इसने एक नए बॉक्स के साथ काम करना बंद कर दिया। किसी भी विचार यह क्या कारण है?
एंड्रयू विट

sudo /etc/init.d/networking पुनरारंभ मेरे लिए काम किया है, धन्यवाद!
अनातोली

2
मैंने पुनः आरंभ किया, लेकिन / etc / network / interfaces में मेरा # VAGRANT-BEGIN [...] # VAGRANT-END से कोई खंड नहीं है, कोई सुराग क्यों? क्या मैं इसे मैन्युअल रूप से जोड़ सकता हूं?
स्परोवोव

1
मैंThe following settings shouldn't exist: boot_mode
Calin

1
नवीनतम संस्करण में आपको प्रदाता कॉन्फ़िगरेशन के लिए v.gui = true रखना होगा
Calin

6

यह मेरे लिए एक आंतरायिक समस्या है, और निश्चित रूप से नेटवर्किंग से संबंधित है। मुझे Vagrant GitHub के मुद्दों # 391 और # 455 पर कुछ और उपयोगी जानकारी मिली । मैंने VirtualBox सेटिंग्स में अपने अप्रयुक्त होस्ट-ओनली नेटवर्क को हटाने की कोशिश की (जैसा कि GitHub मुद्दों में से एक में संभावित फिक्स के रूप में अनुशंसित है) जो मदद करने के लिए प्रतीत नहीं हुआ।

गुई मोड में शुरू करना (जैसा कि पिछले उत्तर में वर्णित है) डिबग / फिक्स समस्याओं का एक शानदार तरीका है। मैंने पाया कि ऐसा इसलिए है क्योंकि जो भी कारण है, वीएम स्टार्टअप पर एक आईपी पता प्राप्त नहीं कर सकता है। GUI मोड में शुरू होने पर (आवारा / आवारा) लॉग इन करना और sudo dhclientअतिथि OS में चलना आईपी ​​एड्रेस को पुनः प्राप्त करेगा और वैगरेंट सेटअप प्रक्रिया सफलतापूर्वक पूरी होगी।

अभी भी एक स्थायी तय की तलाश में है।

उम्मीद है की यह मदद करेगा!

[EDD TO ADD]: GitHub के अंक # 455 में एक उपयोगी सुझाव जोड़ा गया था, जिसमें आपके लिए निम्नलिखित कॉन्फ़िगरेशन को शामिल करना शामिल है Vagrantfile:

config.ssh.max_tries = 150

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


VirtualBox सेटिंग्स में मेरे अप्रयुक्त होस्ट-ओनली नेटवर्क को हटाना मेरे लिए काम करता है! धन्यवाद!
ड्यूक

1
ऐसा लगता है कि इस सेटिंग को 1.3.X के रूप में समाप्त कर दिया गया था - github.com/berkshelf/berkshelf/pull/856
जेरेमी

5

यदि vagrant upविफल रहता है, तो मैं निम्नलिखित सलाह देता हूं:

  1. Gui मोड के साथ बूट करें : इससे यह देखने में मदद मिलती है कि क्या छवि टूटी हुई है (या प्रावधान शुरू होने से पहले यह क्या करता है), config.vm.boot_mode = :guiअपने में सेट करेंVagrantfile
  2. डिबग लॉगिंग : डिबग के साथ प्रोविजनिंग चलाएं ,chef.log_level = :debug
  3. बॉक्स को दोबारा बनाएं : कभी-कभी आपको कुछ और चलाने से पहले कुछ और स्थापित करने की आवश्यकता होती है - बूटस्ट्रैप को बूटस्ट्रैप करने के लिए। यह वास्तव में संभव नहीं है, इसलिए सबसे आसान vm को बिना किसी प्रावधान के बूट करना है, आपको जो भी ज़रूरत है उसे स्थापित करें और बॉक्स को फिर से पैकेज करें ( vagrant box repackage fooफिर, vagrant import fooऔर फिर fooअपने में जोड़ें Vagrantfile)

नोट: गुई मोड में अन्य समस्याएँ हो सकती हैं, उदाहरण के लिए मेरे लिए कोई 0.7.5सक्षम कार्य योनि के साथ काम नहीं करता है जब गुई सक्षम होता है। हालांकि वास्तविक बॉक्स को डिबग करना अभी भी बहुत अच्छा है।


2

मेरा नेटवर्क कार्ड प्रकार मूल रूप से सेट किया गया था 82540EM। मैंने इसे बदल दिया Am79C973और अब वैग्रांत अप हर बार काम करता है। मैंने कई वीएम शुरू किए हैं, यहां तक ​​कि मेजबान को भी रिबूट किया है और यह अभी भी काम करता है।

आदेश है:

VBoxManage modifyvm yourmachinename --nictype1 Am79C973

अपने बॉक्स को वैग्रंट को रीपैकेज और रीड करना याद रखें।

मैं होस्ट और मेहमानों के रूप में डेबियन निचोड़ 64-बिट चला रहा हूं, कोर i7-2600 मशीन पर वर्चुअलबॉक्स 4.1.16 का उपयोग कर रहा हूं।


1

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


1

मुझे ओएक्सएक्स पर एक ही समस्या थी (वर्चुअलबॉक्स 4.1.0 और वैग्रांट 0.8.6), और मेरे लिए केवल मदद थी:

  1. लॉगिन के साथ: gui by login / pass: योनि / योनि
  2. लाइन "शट /etc/init.d/networking पुनरारंभ" को "एक्जिट 0 ing" से ठीक पहले शामिल करने के लिए "/etc/rc.local" फ़ाइल को संशोधित करें।
  3. अक्षम: गुई
  4. योनि पुनः लोड

मुझे यह मिल गया है: https://github.com/mitchellh/vagrant/issues/391 thx mikhailov।


1

मुझे भी बिल्कुल यही समस्या है। मेरे मामले में 64-बिट एमुलेशन सक्षम नहीं था। मेरे बायोस में इस सुविधा को सक्षम करने से समस्या ठीक हो गई।


1

मेरा अतिथि बॉक्स डिस्क समस्या के कारण ठीक से बूट नहीं होगा।

मैंने वीएम को बंद करने के लिए मजबूर किया

VBoxManage controlvm पॉवरऑफ़

फिर मैंने Vagrantfileइस पंक्ति को शामिल करने के लिए अपना संशोधन किया :

config.vm.boot_mode =: gui

अगला, मैं फिर से भागा

ऊपर उठना

GUI में जो पॉप अप हुआ, उसमें मुझे 'डिस्क फिक्सर' की उपयोगिता को चलाना था।

डिस्क उपयोगिता चलाने के बाद, मेरा VM सफलतापूर्वक बूट हो गया था, और फिर मैं चला सकता था vagrant ssh


1

मैंने इस तरह से Vagrantfile में भाग को अनियोजित किया:

  config.vm.provider :virtualbox do |vb|
    # Don't boot with headless mode
    vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    # vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

मैंने इसे बचाया और फिर मैंने किया

vagrant reload

और फिर चीजें ठीक रहीं। मुझे यकीन नहीं है कि हालांकि यह तय हो गया।



0

मेरी समस्या यह थी कि में

/etc/hosts

मेरे पास एंट्री थी

127.0.1.1 lucid32

जहां मेरे बॉक्स का नाम था lucidtest, मैंने उपरोक्त लाइन को बदल दिया है

127.0.1.1 lucidtest

और यह काम किया।


0

यह संदेश बताता है कि ssh सर्वर VM पर नहीं चल रहा है। सुनिश्चित करें कि यह स्थापित है

sudo apt-get install openssh-server

और चल रहा है

ssh localhost

त्रुटि नहीं देनी चाहिए।

योनि के भीतर त्रुटियों को बाहर करने के लिए, आपको सीधे vm में ssh की कोशिश करनी चाहिए:

ssh योनि @ लोकलहोस्ट -p2222

(डिफ़ॉल्ट उपयोगकर्ता और पोर्ट अग्रेषण संभालने)


0

खिड़कियों पर 7 रन

vagrant ssh

अगर आपको ऐसा कुछ मिलता है ...

`vagrant ssh` isn't available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
PuTTY). The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: U:/.vagrant.d/insecure_private_key

तो आप कुछ इस तरह का उपयोग करना चाहिए ...

ssh vagrant@127.0.0.1 -p 2222 -i /cygdrive/u/.vagrant.d/insecure_private_key

ध्यान दें कि मैं पोटीन के बजाय अपने विंडोज़ बॉक्स पर साइबरविन का उपयोग कर रहा हूं।


ओपी विंडोज 7.
टैनर फॉल्कनर

शुक्रिया r.tanner.f - कोई ओएस निर्दिष्ट नहीं किया गया था, इससे मुझे मदद मिली, उम्मीद है कि दूसरों की मदद करें।
Artistan

पता नहीं क्यों आपको नीचा दिखाया गया, ऐसा लगता है कि यह अन्य लोगों की मदद कर सकता है
मार्क

0

यहाँ त्रुटि का एक और संभावित कारण है :

[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

एक उपयोगकर्ता नाम इस तरह के विन्यास फाइल में निर्दिष्ट किया जा सकता है:

config.ssh.username = "badusername"

यदि वह उपयोगकर्ता नाम मौजूद नहीं है या किसी कारण से लॉग इन नहीं किया जा सकता है, तो न तो आप और न ही वैगरेंट एसएसएच को वीएम में सक्षम कर पाएंगे। इस प्रकार वैगरेंट "कनेक्ट करने में विफल" होगा, भले ही वीएम वास्तव में चल रहा हो और ठीक से काम कर रहा हो।


0

मेरा मुद्दा यह था कि vagrant sshकुछ भी नहीं करेंगे।

मैंने हटा दिया ~/.ssh/configऔर समस्या हल हो गई। यदि आप इसे रखना चाहते हैं तो फ़ाइल को कहीं कॉपी करें या नाम बदलें।


स्थानीय या दूरस्थ प्रणाली पर?
जेरेमी हजेक

0

दूसरों के साथ की तरह, मैंने GUI का उपयोग किया (इस तरह की समस्याओं को रोकने के लिए मेरे पास हमेशा यही रहता है)

config.vm.boot_mode = :gui

मैंने तब VirtualBox मेनू का उपयोग किया था, क्योंकि यहां कमांड काम नहीं करती थी। मशीन> मेनू में रीसेट करें, तब ssh तब संभव था।


0

मैंने चल रहे vm को बंद कर दिया और एक नया बेसबॉक्स बनाया:

  1. VM को बंद करें मैं निर्यात करने का प्रयास कर रहा हूं
  2. vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.