मैं एसएसएच के माध्यम से अपने लैन में एक और उबंटू मशीन से जुड़ सकता हूं । दोनों पीसी पर मैंने स्थापित किया openssh सर्वर लेकिन एक अन्य उबंटू कंप्यूटर से मैं एसएसएच के माध्यम से अपने पीसी से कनेक्ट नहीं कर सकता और मुझे यह त्रुटि मिली:
"होस्ट कुंजी सत्यापन विफल" का अर्थ है कि होस्ट रिमोट होस्ट की कुंजी बदल दी गई थी ।
एसएसएच रिमोट होस्ट की होस्ट कुंजियों को स्टोर करता है ~/.ssh/known_hosts. आप या तो उस टेक्स्ट फ़ाइल को मैन्युअल रूप से संपादित कर सकते हैं और पुरानी कुंजी को हटा सकते हैं (आप त्रुटि संदेश में लाइन नंबर देख सकते हैं), या उपयोग कर सकते हैं
यदि आप कुछ दूरस्थ/स्क्रिप्टिंग स्थितियों में चल रहे हैं, जहां आपको प्रॉम्प्ट-टू-ऐड-होस्टकी तक इंटरैक्टिव पहुंच की कमी है, तो इसके चारों ओर इस तरह काम करें:
कभी-कभी ऐसी स्थिति भी होती है जब आप सीरियल कंसोल पर काम कर रहे होते हैं, फिर वर्बोज़ मोड में उपरोक्त कमांड की जांच करते हैं -v आपको दिखाएगा /dev/tty मौजूद नहीं है, जबकि यह करता है ।
ssh -v user@hostname
उपरोक्त मामले में बस हटा दें /dev/tty और एक सिमलिंक बनाएं /dev/ttyS0 को /dev/tty.
rm /dev/ttyln -s /dev/ttyS0 /dev/tty
एक विकल्प के रूप में, जोड़ें id_rsa.pub दूरस्थ स्थान पर, इसलिए पासवर्ड संकेत नहीं दिया जाता है और आपको लॉगिन एक्सेस मिलता है ।
हो सकता है कि आपको केवल "हां" दर्ज करने की आवश्यकता हो जब एसएसएच पुष्टि करता है कि आप कनेक्ट करना जारी रखना चाहते हैं ।
की तरह bellow.
The authenticity of host 'xxx' can't be established.ECDSA key fingerprint is yyy.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'xxx' (ECDSA) to the list of known hosts.Enter passphrase for key '/Users/ysy/.ssh/id_rsa':
फिर अपना पासवर्ड डालें।
कृपया ध्यान दें " क्या आप वाकई कनेक्ट करना जारी रखना चाहते हैं (हाँ/नहीं)? हाँ". आपको हां दर्ज करना होगा, दर्ज नहीं करना होगा ।
ठीक है, यह सिर्फ इसलिए कि दूसरे उबंटू को कुंजी द्वारा कनेक्शन की आवश्यकता होती है और पासवर्ड की नहीं ।
मेरा सुझाव है कि आप उपयोग करें sudo dpkg-reconfigure openssh-server अपने पीसी पर, और फिर इसे ठीक से काम करना चाहिए । यह ओपनएसएसएच के लिए कॉन्फ़िगरेशन को रीसेट कर देगा और डिफ़ॉल्ट पासवर्ड प्रमाणीकरण पर वापस आना चाहिए ।
दूसरी संभावना यह है कि आपके पीसी में आपके अन्य उबंटू के लिए पहले से ही एक कुंजी है, और यह बदल गया है इस प्रकार अब पहचाना नहीं जा रहा है । इस स्थिति में, आपको फ़ाइल को संपादित करना होगा .ssh/authorized_keys अपने उबंटू की पहचान करने वाली समस्याग्रस्त लाइन को हटाने के लिए ।
मैंने सिर्फ उस त्रुटि संदेश को देखा जो उसने मुझ पर फेंका था और उसने मेजबानों की सूची से हटाने के लिए उस कमांड को चलाने के लिए कहा था । उसके बाद मैंने निम्नलिखित किया:
ssh-copy-id HOSTNAME
जब तक मैं सर्वर में एसएसएच करने में सक्षम नहीं था, तब तक मैंने वहां से संकेतों का पालन किया ।
आपको अपनी कुंजी इस तरह से बदलनी चाहिए:आपकी दी गई त्रुटि से पता चलता है कि कौन सी होस्ट-कुंजी ने उदाहरण बदल दिया है: ईसीडीएसए कुंजी को /उपयोगकर्ता/उपयोगकर्ता-नाम/में बंद करना । एसएसएच / ज्ञात_होस्ट:5 कहा 5 वीं कुंजी बदल गई, इसलिए ऐसा करें:
sed -i '5d' ~/.ssh/known_hosts
सूचना: आपको रूट होना चाहिए या सुडो के लिए विशेषाधिकार होना चाहिए ।