2012-05-09 14 views
8

मान लीजिए कि MySQL -dbs और एक बुरा खरगोश वाला व्यवस्थापक जो पासवर्ड भूलने के लिए (या अधिक रचनात्मक प्रमाणीकरण चाहते हैं, केवल पासवर्ड ही नहीं)। क्या MySQL -root खोल का उपयोग करना संभव है उदाहरण के लिए एसएस-एजेंट निजी कुंजी स्टोर करता है और फिर मैं "mysql -u root" (पासवर्ड टाइप करने या निजी कुंजी और पासवर्ड के संयोजन के बिना) लॉगिन कर सकता हूं?एसएसएच निजी कुंजी के साथ MySQL रूट-लॉगिन?

उत्तर

7

आप निश्चित रूप से अपने शेल खाते पर लॉग ऑन करने के लिए सामान्य एसएसएच कुंजी प्रमाणीकरण का उपयोग कर सकते हैं और फिर ~/.my.cnf फ़ाइल का उपयोग अपने पासवर्ड के साथ कर सकते हैं। इसका उपयोग डिफ़ॉल्ट रूप से mysql कमांड लाइन क्लाइंट द्वारा किया जाएगा।

इसकी सामग्री होना चाहिए:

[client] 
user=the_user_name 
password=the_password 

खबरदार कि जो कोई भी पढ़ सकते हैं इस फाइल को उन क्रेडेंशियल्स का उपयोग करने में सक्षम हो जाएगा। इसे सुरक्षित रखें ताकि केवल स्वामी इसे पढ़ सके (और यदि आप अपने कीबोर्ड से दूर जाते हैं तो अपना टर्मिनल लॉक करें)।


आप सीधे कुंजी-आधारित प्रमाणीकरण चाहते हैं, आप भी SSL client-certificate authentication इस्तेमाल कर सकते हैं। आप अपना खुद का छोटा सीए बना सकते हैं और इन क्लाइंट-सर्टिफिकेट्स के साथ खुद को जारी कर सकते हैं। यदि आपको सीधे रिमोट एक्सेस की आवश्यकता है तो कई टूल इसका समर्थन करते हैं।

+1

+1। मैं इस जवाब को लिखकर आधा रास्ते था। –

+0

.. संक्षेप में, धन्यवाद! उनके अलावा, मेरे पास कुछ विचार हैं जैसे कि जीजीपी के साथ एसएसएच-एफएस चीजों को स्थापित करना, यह सोचना है कि फाइल को सावधानी से कैसे सुरक्षित किया जाए (मैं साझा सिस्टम पर हूं) - शायद प्रमाणीकरण के कई तरीकों का उपयोग करना ताकि पासवर्ड खोने पर वास्तव में कोई फर्क नहीं पड़ता विचार, शायद अब overengineering, जांच। – hhh

+1

यह एसएसएच-एफएस के साथ काम करने के लिए जरूरी नहीं है। यदि वास्तविक मशीन (और केवल गैर-एन्क्रिप्टेड रूप में) चल रहा है तो यह फ़ाइल 'mysql' क्लाइंट द्वारा उपयोग की जाएगी)। (आप निश्चित रूप से रिमोट होम निर्देशिका को ssh-fs के साथ माउंट कर सकते हैं और फिर अपने कॉन्फ़िगरेशन फ़ाइल को अपने स्थानीय 'mysql' क्लाइंट के साथ निर्दिष्ट कर सकते हैं, लेकिन यह दृढ़ लगता है)। यदि आपको आवश्यकता हो तो रूट फ़ाइल में mysql रूट पासवर्ड को रूट खाते में रखें। रिमोट एक्सेस के लिए, क्लाइंट-कर्ट बेहतर विकल्प हो सकता है (हालांकि यह प्रबंधन के मामले में अधिक शामिल है)। – Bruno

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