git - गिट त्रुटि: रिमोट रिपोजिटरी से कनेक्ट करते समय "होस्ट कुंजी सत्यापन विफल"




ssh ssh-keys (9)

मैं एक दूरस्थ गिट भंडार से कनेक्ट करने की कोशिश कर रहा हूं जो मेरे वेब सर्वर पर रहता है और इसे मेरी मशीन पर क्लोन करता है।

मैं अपने आदेश के लिए निम्न प्रारूप का उपयोग कर रहा हूं:

git clone ssh://[email protected]/repository.git

इसने मेरे अधिकांश टीम के सदस्यों के लिए ठीक काम किया है। आम तौर पर इस कमांड को चलाने के बाद गिट उपयोगकर्ता के पासवर्ड के लिए संकेत देगा, और उसके बाद क्लोनिंग चलाएगा। हालांकि, मेरी मशीनों में से किसी एक पर चलते समय मुझे निम्न त्रुटि मिलती है:

होस्ट कुंजी सत्यापन विफल रहा।

घातक: रिमोट रिपोजिटरी से नहीं पढ़ा जा सका।

हम इस भंडार से कनेक्ट करने के लिए एसएसएच कुंजी का उपयोग नहीं कर रहे हैं, इसलिए मुझे यकीन नहीं है कि क्यों गिट इस विशेष मशीन पर एक के लिए जांच कर रहा है।


आप एसएसएच प्रोटोकॉल के माध्यम से कनेक्ट कर रहे हैं। एसएसएच का उपयोग करके, प्रत्येक होस्ट की कुंजी होती है। ग्राहक किसी विशेष पते से जुड़े मेजबान कुंजी को याद करते हैं और यदि कोई होस्ट कुंजी बदलती प्रतीत होती है तो कनेक्ट करने से इनकार कर दिया जाता है। यह मध्य हमलों में आदमी को रोकता है।

Domain.com के लिए होस्ट कुंजी बदल गई है। यदि यह आपके लिए ख़राब नहीं लगता है , तो आप अपने स्थानीय कैश का उपयोग करके पुरानी कुंजी को हटा सकते हैं

$ ssh-keygen -R domain.com

मैं आपको दृढ़ता से प्रोत्साहित करता हूं कि उपयोगकर्ताओं को कुंजी के साथ प्रमाणित करने पर विचार करें। इस तरह, ssh-agent सुविधा के लिए मुख्य सामग्री स्टोर कर सकता है (बजाय हर किसी को सर्वर से प्रत्येक कनेक्शन के लिए अपना पासवर्ड दर्ज करना पड़ता है), और पासवर्ड नेटवर्क पर नहीं जाते हैं।


आप जेनकिन्सफाइल या जहां भी चाहें 'https "यूआरएल प्रारूप में अपने" गिट यूआरएल "का उपयोग कर सकते हैं।

git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'


जैसा कि मैंने क्लोनिंग गिट रेपो में पहले उत्तर दिया था त्रुटि - कारण कुंजी सत्यापन विफल रहा। घातक: रिमोट एंड अप्रत्याशित रूप से लटका हुआ है , अधिकृत होस्ट की सूची में गिटहब जोड़ें:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts


मुझे एक नई स्थापित प्रणाली पर एक ही समस्या मिली, लेकिन यह एक udev समस्या थी। कोई /dev/tty नोड नहीं था, इसलिए मुझे करना था:

mknod -m 666 /dev/tty c 5 0

मुझे यह संदेश मिला जब मैंने एक रिपो git clone करने की कोशिश की जो मेरा नहीं था। फिक्स कांटा और फिर क्लोन था।


मेरे पास एक ही समस्या थी, दुर्भाग्य से मैंने गिट एक्सटेन्शंस एचएमआई का इस्तेमाल किया और भूल गया कि मैंने पासफ्रेज लिखा था। एचएमआई के साथ .... इसे भूल जाओ! जब आप अपनी कुंजी उत्पन्न करते हैं तो पासफ्रेज दर्ज न करें!


मेरे लिए, मुझे बस प्रॉम्प्ट पर "हां" टाइप करना पड़ा जो पूछता है "क्या आप वाकई कनेक्ट करना जारी रखना चाहते हैं (हां / नहीं)?" एंटर दबाकर बस।


यदि आप कार्यालय इंट्रानेट (अन्यथा खतरनाक) में हैं जो हमेशा फ़ायरवॉल द्वारा संरक्षित है, तो आपके ~ / .ssh / config में निम्न पंक्तियां हैं

मेज़बान *
StrictHostKey चेकिंग नंबर
UserKnownHostsFile = / dev / बातिल


ssh -T [email protected] चल रहा था मुझे अपने ज्ञात मेजबानों को ssh -T [email protected] जोड़ने के लिए एक प्रॉम्प्ट प्राप्त करने की आवश्यकता थी।





ssh-keys