13.04 की नई वैग्रान्ट संस्थापन में ssh नहीं कर सकता


9

मैंने एक नई वर्चुअल मशीन बनाने के लिए http://cloud-images.ubuntu.com/vagrant/raring/caring/raring-server-cloudimg-i386-vagrant-disk1.box से 13.04 के लिए वैग्रेंट छवि का उपयोग किया। यह ssh का उपयोग कर। हालांकि, एसएसएच ने हमेशा तुरंत डिस्कनेक्ट कर दिया, यहां तक ​​कि उस चरण तक भी नहीं पहुंचा जहां उसने प्रमाणित करने की कोशिश की थी।

मैंने वर्चुअलबॉक्स GUI में VM खोला और SSH लॉग फ़ाइल (dif.log) को देखा। यह इस तरह से लाइनों से भरा था:

Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: fatal: No supported key exchange algorithms [preauth]

समस्या को निम्न आदेशों को निष्पादित करके हल किया गया था:

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

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

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

क्या किसी को पता है कि ऐसा क्यों होता है और इसे ठीक करने के लिए क्या किया जा सकता है? क्या मुझे इसे बग के रूप में रिपोर्ट करना चाहिए?


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

जी हां, यह सबसे नई योनि है। ध्यान दें कि मेरी समस्या आवारा कुंजी जोड़ी नहीं है, यह SSH सर्वर की मशीन कुंजी सेट नहीं है। यदि SSH सर्वर में कोई मशीन कुंजी नहीं है, तो इसे कनेक्ट करने का कोई तरीका नहीं है।
मोशे काट्ज़

मैंने सिर्फ एक ताजा 12.10 वीएम की कोशिश की और वही हुआ।
मोशे काट्ज़

क्षमा करें, प्रश्न को ध्यान से नहीं पढ़ा। मैं सार्वजनिक कुंजी प्रमाणीकरण नहीं होस्ट समस्या मुख्य sshd था। ऐसा लगता है कि पहली बूट उबंटू क्लाउड छवि के दौरान नई होस्ट कुंजी (यदि नहीं मिली है) उत्पन्न करने में विफल रही। यह कुंजी उत्पन्न करने test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverके ssh-keygenलिए किया जा सकता है या इसका उपयोग कर सकता है ।
टेरी वैंग

स्क्रिप्ट test -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverमें होना चाहिए /etc/rc.local
टेरी वैंग

जवाबों:


5

यह SSH होस्ट की मुख्य समस्या है (सार्वजनिक कुंजी प्रमाणीकरण से संबंधित नहीं)।

ऐसा लगता है कि समस्या यह थी कि ubuntu क्लाउड आवारा छवि /etc/ssh/1 बूट ( vagrant up) के दौरान नए होस्ट कुंजी (यदि वे वहां नहीं हैं ) उत्पन्न करने में विफल रहीं ।

मोशे द्वारा उल्लिखित SSH मेजबान कुंजी को मैन्युअल रूप से उत्पन्न करने के अलावा

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

इसमें निम्नलिखित कमांड जोड़कर भी किया जा सकता है /etc/rc.local

test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server

आशा है ये मदद करेगा।


1
यह एक अस्थायी समाधान है, लेकिन क्या हमें इसे उस छवि के बग के रूप में रिपोर्ट नहीं करना चाहिए? क्या सभी चाबियों को पहले से ही नहीं बनाया जाना चाहिए?
राडेक सिमको

5

Workaroud:

  • वर्चुअलबॉक्स में आयात ~ / .vagrant.d / box / raring / box.ovf उपकरण

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • VM नाम प्राप्त करें

    VBoxManage list vms
    
  • VM को प्रारंभ करें

    VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
    
  • /Etc/rc.local (वीएम में ही!) में निम्नलिखित पंक्ति शामिल करें!

    test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
    
  • शटडाउन वीएम

    sudo halt
    
  • पुरानी छवियों को हटाएं

    rm ~/.vagrant.d/boxes/raring/box.ovf ~/.vagrant.d/boxes/raring/box-disk1.vmdk
    
  • VM को .ovf प्रारूप में निर्यात करें

    VBoxManage export ubuntu-cloudimg-raring-vagrant-amd64 --output ~/.vagrant.d/boxes/raring/box.ovf
    

किया हुआ :)

एक बगरेपोर्ट भी बनाया: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950


3

ऐसा प्रतीत होता है कि पुराने बेस बॉक्स में बग था। वर्तमान आधार बॉक्स छवियों (20 अगस्त, 2013 को जनरेट) में, कुंजी तब बनाई जाती है जब बॉक्स पहली बार बूट होता है।


मैं अभी इस बग (फिर से) में चल रहा हूं, और @ S0me0ne की बग रिपोर्ट से लगता है कि अन्य लोग भी हैं। मैंने / etc / ssh में पुष्टि की है कि प्रमुख फाइलें नहीं हैं। यह 24 सितंबर की छवियों का उपयोग कर रहा था।
malvim

ठीक है, उन्होंने मशीनों का एक और "बैच" जारी किया है (28 सितंबर, 2013 से) जो लापता कुंजी को सही ढंग से बनाते हैं। मैं यह सत्यापित करने में सक्षम था कि VBoxManage का उपयोग करके बक्से आयात करके। अजीब तरह से, जब मैं "योनि अप" का उपयोग करता हूं, तो फाइलें नहीं होती हैं! क्या वीबी में सीधे आयात करने और योनि का उपयोग करने के बीच अंतर है?
malvim
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.