2013-05-02 6 views
13

मैंने उपयोगकर्ताओं को अपने सार्वजनिक "id_rsa.pub" ssh कुंजी के लिए कहा है, जिसे मैं "/home/theiraccount/.ssh/authorized_keys" में डालता हूं, ताकि वे एसएसएच द्वारा सर्वर पर लॉगिन कर सकें। मैं इस प्रक्रिया को स्वचालित करना चाहता हूं।स्वच्छता एसएसएच सार्वजनिक कुंजी की जांच करें?

क्या सैनिटी को वे स्ट्रिंग जांचते हैं जो वे मुझे देते हैं (प्रोग्रामेटिक या अन्यथा)? मैं सत्यापित करना चाहता हूं कि एसएसडीडी पाठ पढ़ सकता है और यह वास्तव में एक वैध सार्वजनिक कुंजी (और दूषित नहीं हुआ है) की तरह दिखता है?

एक और तरीका रखो, id_rsa.pub फ़ाइल का प्रारूप क्या है? अगर कोई इसे किसी क्षेत्र में प्रवेश करता है तो मैं फॉर्म हैंडलर स्क्रिप्ट में क्या लिख ​​सकता हूं यह सत्यापित करने के लिए कि यह पूर्ण और सही है?

+0

यहां पाइथन में लिखे गए फ़ंक्शन का एक लिंक है जो कुंजी को मान्य करता है: https://github.com/jirutka/ssh-ldap-pubkey/blob/master/bin/ssh-ldap-pubkey#L264 मान लीजिए कि आप बस मूल सत्यापन में रुचि रखते हैं, एल्गोरिदम मूल रूप से है: 1. सामग्री को विभाजित करें, पहला तत्व 'kt' = कुंजी प्रकार है, दूसरा तत्व कुंजी स्ट्रिंग है। 2. आधार 64 डीकोड कुंजी स्ट्रिंग 3. पहले चार बाइट्स पूर्णांक 'ktl' हैं, जो key_type स्ट्रिंग की लंबाई के अनुरूप हैं 4. डीकोडेड स्ट्रिंग के 4 से 4 +' ktl' के अक्षर 4 प्राप्त करें। इसे कुंजी प्रकार 'kt' से मेल खाना चाहिए। –

उत्तर

28

ssh-keygen अगर आप इसे पारित नहीं है एक महत्वपूर्ण फाइल की अंगुली की छाप है, जो असफल हो जायेगी गणना करने के लिए इस्तेमाल किया जा सकता एक महत्वपूर्ण:

ssh-keygen -l -f id_rsa.pub 

एक और संभावना ssh-vulnkey होगा, कि जाँच का लाभ होता है एक ही समय में ज्ञात समझौता कुंजी की ब्लैकलिस्ट के खिलाफ कुंजी।

+0

पासवर्ड के साथ कुंजी के लिए काम नहीं करता – vidstige

+0

@vidstige ए _public_ कुंजी पासवर्ड से सुरक्षित है? क्यूं कर? सार्वजनिक कुंजी को पासवर्ड से संरक्षित करने की आवश्यकता नहीं है, निजी कुंजी चाहिए, और आप इसे किसी को नहीं देंगे। क्या वर्कफ़्लो को निजी कुंजी की जांच करने की आवश्यकता होगी? – mata

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