2015-10-20 3 views
11

मैं जब तक मैंवास्तव में ज्ञात_होस्ट में क्या है?

ssh [email protected]

भाग गया यह एक फ़ाइल known_hosts के साथ एक .ssh निर्देशिका बनाई गई एक .ssh निर्देशिका नहीं था।

इसमें इस तरह का कुछ पाठ था।

foo.com,107.180.00.00 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff 

मैंने सोचा कि यह शायद मेरे सर्वर का सार्वजनिक या निजी कुंजी खींचा गया हो, लेकिन यह नहीं था।

यह क्या है, और इसके लिए क्या उपयोग किया जाता है?

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

रिसर्च

यह लगता है

https://security.stackexchange.com/questions/20706/what-is-the-difference-between-authorized-key-and-known-host-file-for-ssh

+0

* लेकिन यह नहीं था। * आप क्यों मानते हैं? क्या आपने 'sshd (8) 'के लिए मैन्युअल पृष्ठ पढ़ा है, जिसमें इस फ़ाइल का विवरण और प्रारूप शामिल है? – Jakuje

उत्तर

3

ऊपर जवाब और अपनी टिप्पणी के लिए जोड़ने के लिए, वहाँ ssh सत्र के लिए चार बिल्डिंग ब्लॉक्स

  1. एन्क्रिप्शन (सममित कुंजी के बाद ली गई हैं प्रति सत्र कुंजी exhange)
  2. डेटा निष्ठा (मैक जैसे SHA, HMAC)
  3. कुंजी विनिमय तरीकों
  4. का उपयोग कर
  5. सार्वजनिक कुंजी तरीकों या कुंजी तरीकों

SSH एल्गोरिथ्म बातचीत एक महत्वपूर्ण विनिमय राज्य मशीन जो जब एल्गोरिदम सूची के साथ SSH_MSG_KEXINIT संदेश भेजे जाने के लिए शुरू होता है शामिल है होस्ट करते हैं।

कुंजी विनिमय विधि या बस केएक्स एन्क्रिप्शन के लिए सत्र कुंजी निर्दिष्ट करता है और मेजबान प्रमाणीकरण मेजबान सार्वजनिक कुंजी होस्ट करता है (ssh-rsa, ssh-dss ..) जो क्लाइंट को भेजे जाते हैं। नीचे कदम बुनियादी कदम है कि kex के लिए जगह लेने के आरएफसी https://tools.ietf.org/html/rfc4253

निम्नलिखित चरणों का एक प्रमुख का आदान-प्रदान किया जाता है के हवाले से उपयोग करते हुए डिफ्फी हेलमैन कुंजी विनिमय एल्गोरिथ्म

हैं। इसमें, सी ग्राहक है; एस सर्वर है; पी एक बड़ा सुरक्षित प्रधान है; जी जीएफ (पी) के उपसमूह के लिए जनरेटर है; क्यू उपसमूह का आदेश है; V_S एस पहचान स्ट्रिंग है; वी_C सी की पहचान स्ट्रिंग है; के_S एस सार्वजनिक होस्ट कुंजी है; I_C सी का SSH_MSG_KEXINIT संदेश है और I_S एस SSH_MSG_KEXINIT संदेश है जिसे इस भाग से पहले एक्सचेंज किया गया है।

  1. सी एक यादृच्छिक संख्या एक्स (1 < एक्स < क्यू) उत्पन्न करता है और ई = छ^x आधुनिक पी गणना करता है। सी एस

    के लिए ई भेजता
  2. एस एक यादृच्छिक संख्या y (0 < y < क्यू) उत्पन्न करता है और गणना करता च = छ^y आधुनिक पी। एस प्राप्त करता है ई। यह K = e^y mod p, एच = हैश (V_C || V_S || I_C || I_S || K_S || e || f || के) (इन तत्वों को उनके प्रकार के अनुसार एन्कोड किया गया है; नीचे), और एच पर हस्ताक्षर एस अपनी निजी मेजबान कुंजी के साथ। एस (के_S || एफ || एस) से सी भेजता है। हस्ताक्षर ऑपरेशन में दूसरा हैशिंग ऑपरेशन शामिल हो सकता है।

  3. सी सत्यापित करता है कि के_S वास्तव में एस के लिए मेजबान कुंजी है (उदाहरण के लिए, प्रमाण पत्र या स्थानीय डेटाबेस का उपयोग करना)। सी को सत्यापन के बिना कुंजी स्वीकार करने की भी अनुमति है; हालांकि, ऐसा करने से सक्रिय हमलों के खिलाफ प्रोटोकॉल असुरक्षित प्रस्तुत किया जाएगा (लेकिन कई वातावरण में अल्प अवधि में व्यावहारिक कारणों के लिए वांछनीय हो सकता है)। सी गणना करता है K = f^x mod p, एच = हैश (V_C || V_S || I_C || I_S || K_S || ई || एफ || के), और एच पर हस्ताक्षर की पुष्टि करता है।

स्थानीय डेटाबेस कुछ प्रणालियों में तीसरे चरण में उल्लेख किया .ssh/known_hosts फ़ाइल हो सकता है। तो अपने प्रश्न का उत्तर देने के लिए कुंजी-एक्सचेंज के दौरान मेजबान द्वारा क्लाइंट को सार्वजनिक कुंजी भेजी जाती है।

निम्नलिखित सार्वजनिक कुंजी और/या प्रमाणपत्र स्वरूपों वर्तमान में परिभाषित कर रहे हैं:

ssh-dss आवश्यक संकेत कच्चे डीएसएस कुंजी

ssh-rsa अनुशंसित संकेत कच्चे आरएसए कुंजी

पीजीपी हस्ताक्षर -rsa वैकल्पिक साइन ओपनपीजीपी प्रमाणपत्र (आरएसए कुंजी)

पीजीपी-साइन-डीएसएस वैकल्पिक साइन ओपनपीजीपी प्रमाणपत्र (डीएसएस कुंजी)

+0

एक लंबी कहानी कम करने के लिए, मुझे किसी भी समय यह कुंजी उत्पन्न करने की आवश्यकता नहीं है, यह आपके द्वारा पोस्ट किए गए लिंक द्वारा निर्दिष्ट प्रोटोकॉल के बावजूद किया जाता है? –

+0

हाँ यदि आप एसएसएच क्लाइंट हैं तो आपको होस्ट कुंजी उत्पन्न करने की आवश्यकता नहीं है – cmidi

6

के अनुसार सर्वर के लिए एक सार्वजनिक कुंजी होने के लिए इस फ़ाइल को प्रभावी ढंग से है, अपने व्यक्तिगत प्रमाणपत्र प्राधिकारी। यह आपके द्वारा निर्धारित सभी एसएसएच सर्वर होस्ट कुंजियों की सूची सटीक है। ज्ञात_होस्ट्स में प्रत्येक प्रविष्टि तीन या अधिक सफेद जगह अलग-अलग फ़ील्ड वाली एक बड़ी रेखा है:

ए। एक या अधिक सर्वर नाम या आईपी पते, अल्पविराम से एक साथ शामिल हो गए।

foo.com,107.180.00.00

ज। कुंजी का प्रकार

ssh-rsa

सी। सार्वजनिक कुंजी डेटा स्वयं एएससीआईआई रेंज के भीतर रहने के लिए एन्कोड किया गया।

AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff

डी। कोई वैकल्पिक टिप्पणी डेटा।

भी !! यह धागा आप के लिए काम का हो सकता:

https://security.stackexchange.com/a/20710

+2

लेकिन यह सार्वजनिक कुंजी कहां से मिलती है? –

संबंधित मुद्दे