2013-03-14 9 views
6

this का संदर्भ देकर mysql के लिए ssl स्थापित करने का प्रयास कर रहा हूं।
मैं 4 निम्नलिखित के रूप में है जिसके साथ पहले 3 चरणों लेकिन होने मुद्दा पूरा करने में सक्षम हूँ:mysql के साथ एसएसएल को एकीकृत करना - एक्सेस

GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'localhost' IDENTIFIED BY 'ssluser' REQUIRE SSL; 
FLUSH PRIVILEGES; 

तब मैं mysql सर्वर को पुनरारंभ करें।

इस बयान को क्रियान्वित जब मैं चलाने का प्रयास करने के बाद mysql -ussluser -pssluser -P3306 --ssl-key="C:\Program Files\MySQL\MySQL Server 5.5\certs\ca-cert.pem",
यह पता चलता है निम्न त्रुटि: पहुँच उपयोगकर्ता 'ssluser' के लिए @ 'स्थानीय होस्ट' (पासवर्ड का उपयोग: हाँ) से इनकार किया
मैं 3306 यहाँ के रूप में उपयोग कर रहा हूँ यह मेरा डिफ़ॉल्ट बंदरगाह है।

यह कैसे कह सकते हैं प्रवेश निषेध जब मैं पहले से ही GRANT बयान निष्पादित किया है।

ध्यान दें कि

  • मैं mysql -ussluser -pssluser से पहले GRANT कथन का उपयोग REQUIRE SSL के साथ निष्पादित और मैं mysql से कनेक्ट करने में सक्षम था।

  • अगर मैं SHOW GRANTS FOR 'ssluser'@'localhost';
    कोशिश मैं

    GRANT ALL PRIVILEGES ON *.* TO \'ssluser\'@\'localhost\' IDENTIFIED BY PASSWORD \'*C56A6573BEE146CB8243543295FD80ADCE588EFF\' REQUIRE SSL WITH GRANT OPTION 
    
  • पाने को क्रियान्वित करने GRANT बयान से पहले, मैं ssluser के माध्यम से कार्यक्षेत्र से कनेक्ट करने में सक्षम था। लेकिन अब इसकी पहुंच त्रुटि से इनकार कर दिया गया है।

  • जब मैं show global variables like 'have_%ssl'; का उपयोग मैं

    have_openssl अक्षम have_ssl अक्षम

  • और जब मैं इस SHOW STATUS LIKE 'Ssl_cipher'; का उपयोग मैं

    Ssl_cipher मिल _________

  • मैं सभी सर्वर बनाया है और ग्राहक प्रमाणपत्र और उन्हें 012 में रखा गया mysql server रूट निर्देशिका के अंदरनिर्देशिका।

मैं दिनों की जोड़ी से यह कोशिश कर रहा हूँ लेकिन कुछ भी मिल गया है। किसी भी मदद की सराहना की।

मैं इसे पहली बार कर रहा हूं। क्या कोई मुझे ऐसा करने के लिए विस्तृत प्रक्रिया के माध्यम से मार्गदर्शन कर सकता है?

उत्तर

6

मैं आज भी इसी तरह के त्रुटि संदेश से जूझ रहा था और यहां मैंने जो खोजा है।

  1. अनुदान के लिए "आवश्यक एसएसएल" विकल्प केवल कनेक्शन के लिए एसएसएल की आवश्यकता है और क्लाइंट साइड सर्टिफिकेट प्रदान करने की आवश्यकता नहीं है।
  2. MySQL सीएलआई एसएसएल को संभालने की अपेक्षा नहीं करता है। उदाहरण के लिए, MySQL 5.5 पर, --ssl विकल्प वास्तव में SSL परिवहन को सक्षम नहीं लगता है।
  3. mysql क्लाइंट को वास्तव में SSL का उपयोग करने और क्लाइंट के साथ प्रमाणीकरण की अनुमति देने के लिए मुझे --ssl-cipher=DHE-RSA-AES256-SHA:AES128-SHA विकल्प जोड़ना पड़ा।

यहाँ सटीक चरण मैं सेटअप करने के लिए अपने नए उपयोगकर्ता के लिए इस्तेमाल किया कर रहे हैं:

CREATE USER 'ssl-user'@'%' identified by '<password>'; 
GRANT USAGE ON *.* TO 'ssl-user'@'%' identified by '<password>' REQUIRE SSL; 
GRANT ALL PRIVILEGES ON `your-database`.* TO 'ssl-user'@'%'; 
+0

जोड़ने --ssl-CA भी चाल – Igor

+0

बनाता है मेरे लिए मैं जोड़ने के लिए किया था --ssl-सिफर = DHE- आरएसए-एईएस 256-एसएचए: एईएस 128-एसएचए और मुझे दूरस्थ रूप से कनेक्ट करने के लिए 50 अक्षरों में पासवर्ड छोटा करें। – Khronos

+0

+1: अंततः एसएसएल सिफर को 'डीएचई-आरएसए-एईएस 256-एसएचए: एईएस 128-एसएचए' में निर्दिष्ट करके एसएसएल से कनेक्ट करने के लिए MySQL वर्कबेंच प्राप्त करने में सक्षम था! – antak

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