जब आप जानते हैं कि एक होस्ट कुंजी बदल गई है, तो क्या आपको पता_हॉट्स में जानकारी अपडेट करने का एक आसान तरीका है?


38

यदि एक होस्ट का ऑपरेटिंग सिस्टम फिर से स्थापित किया गया है और इसकी सार्वजनिक कुंजी को फिर से स्थापित किया गया है, तो यह निश्चित रूप से विफल हो जाएगा क्योंकि नई कुंजी पुराने से मेल नहीं खाती है।

क्या ssh को बताने का एक आसान तरीका है कि आप जानते हैं कि मेजबान की कुंजी बदल गई है और आप इसे अपडेट करना चाहते हैं। मुझे लगता है कि पाठ संपादक का उपयोग करने में थोड़ा त्रुटि महसूस होती है या आपत्तिजनक रेखा को हटाने के लिए sed जैसी कोई चीज।


यह सुपरयूज़र पर एक प्रश्न को दोहराता है । और अधिक विस्तृत जानकारी देखें।
यित्ज़

जवाबों:


59

ssh-keygen -R hostnameअपने ज्ञात_होस्ट फ़ाइल से होस्टनाम हटाने के लिए उपयोग करें । अगली बार जब आप कनेक्ट करते हैं, तो आपकी ज्ञात_होस्ट फ़ाइल में नई होस्ट कुंजी जोड़ी जाएगी।


12
TARGET_HOST=[hostname or IP]

# Remove the old key(s) from known_hosts
ssh-keygen -R $TARGET_HOST

# Add the new key(s) to known_hosts (and also hash the hostname/address)
ssh-keyscan -H $TARGET_HOST >> ~/.ssh/known_hosts

अगली बार जब आप कनेक्ट करते हैं, तो आप बिना पूछे जा सकते हैं Are you sure you want to continue connecting (yes/no)?क्योंकि चाबियाँ पहले से ही known_hostsफ़ाइल में होंगी ।


1
यह भी देखना StrictHostKeyChecking ~ / .ssh / config में
जेफ स्कालर

1
मैं एक भिन्न चर नाम का उपयोग करूँगा .... HOST आपके स्वयं के होस्टनाम देने वाले कुछ गोले में है, इसलिए मैं इसे बदलना नहीं चाहूंगा (मुझे पता है कि कोई व्यक्ति बस तभी बाहर निकल सकता है, या इसे सब-सब्सक्रिप्शन से कर सकता है, लेकिन फिर भी , thehostइसके बजाय क्यों ? या कुछ और। एक ALLCAPS चर एक आरक्षित आंतरिक नाम के साथ टकरा सकता है। छोटे नाम नहीं होना चाहिए।)
ओलिवियर

ज्ञात_होस्ट्स की ये चाबियां कुछ सामानों से पूर्वनिर्मित होती हैं जो 1 से शुरू होती हैं। 1 | वह सामग्री इस पद्धति से फ़ाइल में संलग्न नहीं है, या क्या मैं गलत हूं? फिर क्या फर्क पड़ता है, क्योंकि ssh-keycan रिटर्न की शुरुआत नहीं होती है। 1 |
डैनियल एफ

1
(@ डैनियलएफ +) यदि आप हैशेड प्रारूप का उपयोग करते हैं और कुंजी स्वीकार करते sshहैं, तो होस्ट नाम और उसके पते के लिए अलग-अलग प्रविष्टियां हैं, इसलिए आपको उनमें से ssh-keygen -R प्रत्येक को संघर्ष से बचने के लिए चाहिए
dave_thompson_085
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.