Vagrant VMs पर SSH मूल बातें


23

मैं निम्नलिखित आवश्यकताओं के साथ एक योनि मशीन (Ubuntu 12.04) बना रहा हूं:

  • एसएसएच एक्सेस वैदंत के माध्यम से एक उपयोगकर्ता के लिए सूडो-विशेषाधिकारों के साथ।

मैंने सार्वजनिक / निजी कुंजी (के माध्यम से) उत्पन्न की है ssh-keygen होस्ट पर ) और authorized_keysअतिथि पर सार्वजनिक कुंजी को फ़ाइल में स्थानांतरित कर दिया है। और मैंने एक पासवर्ड-कम एसएसएच की कोशिश की है।

कुछ चीजें होती हैं जो मैं vagrant sshपासवर्ड-सक्षम एसएसएच कुंजी के साथ टाइप करता हूं :

  • मुझे होस्ट की मशीन पर SSH में गेस्ट वीएम में अपना कीफ्रेज़ टाइप करना है।
  • हर बार जब मैं सही कीफ्रेज में टाइप करता हूं तो उसे स्वीकार नहीं किया जाता है।

मुझे निम्नलिखित त्रुटि संदेश प्राप्त होते हैं:

SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

फिर मैंने पासवर्ड-कम ssh की कोशिश की।

vagrant ssh
vagrant@127.0.0.1's password: 

??

मैंने कभी भी एक योनि उपयोगकर्ता सेट नहीं किया! यह होना चाहिए user@hostnameजैसा कि मैंने इसे सेट किया था और वर्चुअलबॉक्स में वीएम बूट करने पर काम की पुष्टि कर सकता है।

मुझे योनि के साथ ठीक से काम करने के लिए निजी ssh कुंजियाँ कैसे मिलेंगी? मेजबान पर क्या करें, अतिथि पर क्या करें?

अद्यतन करें

वर्चुअलबॉक्स में VM लाइव है, लेकिन मैं निम्नलिखित में से किसी भी कमांड को योनि कंसोल से समस्याओं के अलावा नहीं कर सकता vagrant ssh:

vagrant up vagrant halt

केवल योनि कमांड जो काम करती है vagrant suspend। जब मैं इसका उपयोग करता हूं तो मैं वास्तव में मशीन को रोक सकता हूं vagrant halt। यहाँ उत्पादन है:

$ vagrant halt
[default] Attempting graceful shutdown of VM...
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

जवाबों:


21

मैं इस समाधान को इस धागे में आने वाले किसी भी व्यक्ति के लिए जोड़ रहा हूं:

सबसे पहले इस फाइल को होस्ट मशीन पर खोलें:

$ sudo vim ~/.vagrant.d/boxes/<yourbox>/include/_Vagrantfile

सत्यापित करें कि config.ssh.private_key_pathआपकी निजी कुंजी फ़ाइल पर सेट है। अगर वह अपडेट नहीं है

डिफ़ॉल्ट pwd के साथ योनि बॉक्स को ssh

$ vagrant ssh (default pwd = ‘vagrant’]

एक बार बॉक्स में:

vagrant@lucid64:~$ sudo visudo -f .ssh/authorized_keys

इस फ़ाइल में अपनी सार्वजनिक कुंजी जोड़ें और फ़ाइल को सहेजें, और बॉक्स से बाहर निकलें

vagrant@lucid64:~$ exit

स्थानीय मशीन पर वापस

$ vagrant halt
$ vagrant up

इसने मेरे लिए काम किया


इसके लिए धन्यवाद - मैं सोच रहा हूं कि क्या होगा अगर उपयोगकर्ता के रूप में एक बॉक्स में ssh vagrantऔर पब / निजी कुंजी जोड़ी का उपयोग करना संभव है ? इसके अलावा आप इस तरह से Vagrantfile से वांछित निजी ssh कुंजी के लिए पथ सेट कर सकते हैं ?
rhodee

2
मुझे फ़ोल्डर 'शामिल' नहीं मिल रहा है। मुझे बस फोल्डर 0, फिर वर्चुअलबॉक्स, फिर 4 फाइल्स- बॉक्स.वॉफ, बॉक्स-डिस्क1.वीएमडीके, मेटाडेटा.जसन, वैग्रानफाइल मिल रहे हैं। किसी भी विचार तब क्या करना है?
डेरियस

3

मैं एक ही समस्या थी, हालांकि यह SSH प्रमुख मुद्दों के कारण नहीं था। मशीन शुरू करते समय, वर्चुअलबॉक्स ने काम किया और अतिथि को ठीक किया। मैं खुद को मशीन में एसएसएच करने में सक्षम था, और vagrant sshकाम किया, हालांकि इसने मुझसे पासवर्ड मांगा। मैंने लॉग इन किया और अतिथि पर निम्नलिखित /var/log/auth.log पाया:

Feb 13 10:14:34 spaaza-dev sshd[1468]: Accepted password for vagrant from 192.168.50.1 port 61816 ssh2
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session opened for user vagrant by (uid=0)
Feb 13 10:14:34 spaaza-dev sshd[1636]: Received disconnect from 192.168.50.1: 11: disconnected by user
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session closed for user vagrant
Feb 13 10:16:44 spaaza-dev sshd[1764]: Authentication refused: bad ownership or modes for directory /home/vagrant

मैं / घर / आवारा के लिए अनुमति देखने गया था:

drwxrwxrwx  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

अच्छा नहीं, मैं जो कुछ कर रहा था वह अनजाने में / घर / आवारा डायर की अनुमति बदल गया था। निम्नलिखित समस्या को हल किया गया:

# chmod 755 vagrant

drwxr-xr-x  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

उसके बाद मैंने मशीन को बंद कर दिया, इसे फिर से शुरू किया और योनि ने अपना काम ठीक किया। :-)


अच्छा सुझाव। मुझे यह भी करना थाchmod -R 755 /home/vagrant/.ssh
१ucky:२६ पर समझदारी से

2

अतिथि बॉक्स में फ़ाइल में योनि असुरक्षित सार्वजनिक कुंजी की प्रतिलिपि बनाने का प्रयास करें .ssh/authorized_keys

आशा है कि यह आपके ssh मुद्दे को हल करता है।

यदि आप इसे सुरक्षित बनाना चाहते हैं तो आप अपनी स्वयं की .ssh / id_rsa.pub को उपरोक्त फ़ाइल में कॉपी करके ऐसा कर सकते हैं। और सेटिंग कर रहा है

config.ssh.pStreet_key_path = '~ / .ssh / id_rsa'

अपने वैग्रांटफाइल में।


2

जिस किसी को भी यह समस्या हो जाती है। मुझे ठीक करने में उम्र लग गई। (फिर भी यह तय करना आसान है !!) इसलिए, वैग्रंट प्रलेखन के अनुसार, 'योनि' उपयोगकर्ता के लिए एक डिफ़ॉल्ट पासवर्ड है जो एकल उद्धरणों के बिना 'योनि' है। आप उनकी आधिकारिक वेबसाइट http://docs.vagrantup.com/v2/boxes/base.html पर उसी पर अधिक पढ़ सकते हैं


2

मेरे पास ऐसे ही मुद्दे थे। अंततः मैंने इसे हल किया:

  • सुनिश्चित करें कि वैग्रांत और वर्चुअलबॉक्स दोनों अप-टू-डेट थे
  • वर्चुअलबॉक्स अतिथि परिवर्धन vagrant-vbguestप्लग - इन स्थापित करके सुनिश्चित करें :GitHub RubyGems

    vagrant plugin install vagrant-vbguest
    

0

Mac OS High Sierra में समस्या को हल करने के लिए चरणों का पालन करें: -

  1. मैं योनि 5.X संस्करण का उपयोग कर रहा हूं
  2. सबसे पहले वर्चुअल बॉक्स को डाउनलोड करें और इसे इंस्टॉल न करें।
  3. सिस्टम वरीयता -> गोपनीयता पर जाएं और अमेरिका द्वारा अनुमति डाउनलोड पर क्लिक करें।
  4. उपरोक्त परिवर्तनों को लॉक करें और वर्चुअल बॉक्स स्थापित करें।
  5. आपको अपने वर्चुअल बॉक्स के लिए इंस्टॉल किया गया सफल संदेश मिल जाएगा।
  6. अब टर्मिनल टाइप वैजाइनल अप --provision पर जाएं
  7. यदि आपके पास कोई भी स्क्रिप्ट है और वह आपके लिए वर्चुअल बॉक्स डाउनलोड करना शुरू कर देगा। 8. आपको message Done ’मैसेज मिलेगा

  8. सुनिश्चित करें कि वर्चुअल बॉक्स सही तरीके से इंस्टॉल किया गया है, फिर केवल योनि कमांड चलाएं यदि आप अनइंस्टॉल वर्चुअल बॉक्स जारी करते हैं, तो अनइंस्टॉल स्क्रिप्ट चलाएं जो pkg के साथ आती है और फिर से इंस्टॉल करने का प्रयास करें।

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