Redis के लिए पासवर्ड कैसे सेट करें?


87

मैं अपने स्थानीय मशीन पर रेडिस के साथ काम कर रहा हूं इसलिए मुझे अपने php क्लाइंट के साथ सर्वर से जुड़ने के लिए वास्तव में पासवर्ड सेट करने की आवश्यकता नहीं है (मैं क्लाइंट के रूप में predis का उपयोग कर रहा हूं)। हालाँकि, मैं अपने ऐप को एक लाइव सर्वर पर ले जा रहा हूं, इसलिए मैं अपने रेडिस सर्वर से कनेक्ट करने के लिए एक पासवर्ड सेट करना चाहता हूं।

मेरे कुछ सवाल हैं:

  • मैंने पासवर्ड सेट करने के तरीके के बारे में पूरे इंटरनेट पर जाँच की और ऐसा लग रहा है कि मुझे पासवर्ड को redis.conf में जोड़ना होगा। मुझे पता नहीं चला कि पासवर्ड को सेट करने के लिए मुझे कॉन्फ़िगरेशन फ़ाइल में वास्तव में क्या जोड़ना चाहिए।

  • यह भी कि मुझे पासवर्ड कैसे जोड़ना चाहिए? मैं रेडिस सर्वर से कनेक्ट करने के लिए निम्न प्रकार के मापदंडों का उपयोग कर रहा हूं

    $ my_server = array ('host' => '127.0.0.1', 'port' => 6379, 'database' => 1);

क्या मुझे इस तरह से पासवर्ड जोड़ना चाहिए?

> $my_server = array('host'     => '127.0.0.1','port'     =>
> 6379,'database' => 1,'password'=>password);
  • आखिरी सवाल, मैं अपने रेडिस-सर्वर को लाइव सर्वर पर रोकने की कोशिश कर रहा हूं। जब भी मैं निम्नलिखित कमांड दर्ज करता हूं, मुझे वही त्रुटि संदेश मिलता रहता है

    रेडिस-सर्वर स्टॉप

    [२३ ९ २५] २३ सितंबर २०२३:०३ # घातक त्रुटि, 'स्टॉप' फाइल को नहीं खोल सकता

    आमतौर पर मेरी स्थानीय मशीन में मैं प्रवेश करता हूं

    /etc/init.d/redis-server रोकें

रेडिस सर्वर को रोकना

जवाबों:


123

पासवर्ड सेट करने के लिए, अपनी redis.conf फ़ाइल को संपादित करें, इस लाइन को खोजें

# requirepass foobared

फिर इसे अनलॉक्ड करें और अपने पासवर्ड में परिवर्तित करें। सुनिश्चित करें कि आप कुछ बहुत लंबा, 32 अक्षर चुनते हैं या शायद अच्छा होगा, यह बाहरी उपयोगकर्ता के लिए 150k पासवर्ड के ऊपर एक दूसरे का अनुमान लगाने में आसान है, जैसा कि विन्यास फाइल उल्लेख में नोट करता है।

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

रेडिस को बंद करने के लिए ... pidfileसेटिंग के लिए अपनी कॉन्फ़िगरेशन फ़ाइल में जांचें , यह संभवतः होगा

pidfile /var/run/redis.pid

कमांड लाइन से, भागो:

cat /var/run/redis.pid

यह आपको रनिंग सर्वर की प्रोसेस आईडी देगा, फिर उस पीआईडी ​​का उपयोग करके प्रक्रिया को मारें:

kill 3832

अपडेट करें

मैं भी जोड़ना चाहता था, आप भी /etc/init.d/redis-server stopअपने लाइव सर्वर पर काम करने के लिए उपयोग किए जा सकते हैं। /Etc/init.d/ में वे सभी फाइलें केवल शेल स्क्रिप्ट हैं, अपने स्थानीय सर्वर से रेडिस-सर्वर स्क्रिप्ट को लें, और इसे उसी स्थान पर लाइव सर्वर पर कॉपी करें, और उसके बाद केवल यह देखें कि यह vi या जो भी है आप उपयोग करना पसंद करते हैं, आपको कुछ रास्तों को संशोधित करने की आवश्यकता हो सकती है, लेकिन यह बहुत सरल होना चाहिए।


1
यह विंडोज पर काम नहीं करता है। मैंने दोनों गोपनीय फाइलों की कोशिश की। मैंने रेडिस को कई संयोजनों में पुनः आरंभ करने की कोशिश की। केवल एक चीज जो काम करती थी वह थी: "रेडिस-क्ली कॉन्फिगर सेट सेटिस्फेग समेटे"। इसके अतिरिक्त, हर बार सर्वर को पुनरारंभ / बंद किया गया था, यह पासवर्ड खो रहा था। इसलिए मुझे लगता है, कि यह खिड़कियों के साथ है।
जेफज

1
चुनी हुई स्थापना प्रक्रिया के आधार पर हमारे पास Redis विन्यास फाइल हो सकती है जैसे "vi /etc/redis/redis.conf" या "vi /etc/redis/6379.conf" (जैसे) जहाँ "6379" मान के लिए चुना जाता है। बंदरगाह!
एडुआर्डो लुसियो

क्या अधिकतम पासवर्ड की लंबाई है?
एंड्रियासर्कलज

इसके अलावा, अगर रेडिस सर्वर चल रहा है, तो यह शुरू होने पर सबसे ऊपर पिड को प्रिंट करता है ... इसे रेडिस संस्करण कहना चाहिए = xxx बिट्स = 64, कमिट = xxxxxx, संशोधित = 0, pid = xxxx
dave4jpg

रेडिस बेहतर हो गया, मशीनें तेज हो गईं। Redis 6 की कॉन्फिगरेशन फ़ाइल बताती है कि "चूंकि Redis बहुत तेज़ है इसलिए एक बाहरी उपयोगकर्ता एक आधुनिक बॉक्स के मुकाबले 1 मिलियन पासवर्ड प्रति सेकंड तक कोशिश कर सकता है"। यह 150K :-) था मैं व्यक्तिगत openssl rand 50 | openssl base64 -Aरूप से एक लंबे पासवर्ड को उत्पन्न करने के लिए कुछ इस तरह का उपयोग कर रहा था । हालांकि शायद अब एसीएल का उपयोग करना बेहतर है।
लशै

67

आप क्लाइंट पर निम्न आदेश का भी उपयोग कर सकते हैं

cmd :: config set requirepass p@ss$12E45

ऊपर कमांड सर्वर पासवर्ड के p@ss$12E45रूप में सेट होगा redis


1
बस जोड़ने के लिए: जैसा कि tutorialspoint.com/redis/redis_security.htm में बताया गया है कि redis-cli के माध्यम से लॉगिन करने के लिए सबसे पहले रनिंग द्वारा redis शेल में जाएं redis-cli.exe। फिर टाइप करें AUTH <password>
अरुण

6
और पासवर्ड प्रमाणीकरण को अक्षम करने के लिए, बस का उपयोग करेंconfig set requirepass ""
arun

3
और यदि आप रेडिस को पुनः आरंभ करते हैं तो यह पुराने पर रीसेट हो जाएगा। इसलिए, conf फ़ाइल में भी जोड़ें।
theGamblerRises

कॉन्फ़िगर सेट की आवश्यकता है "myPassword" यह कमांड मेरे लिए काम नहीं कर रहा है, जब मैं इस कमांड को निष्पादित करता हूं तो यह बिना किसी त्रुटि के चलता है। फिर मैंने अपने Redis उदाहरण को फिर से शुरू किया। लेकिन मैं अभी भी सीएलआई से किसी भी पासवर्ड को साबित किए बिना रेडिस के लिए पिंग कर सकता हूं। बाद में मैंने अपने redis.conf को रीपासपास विशेषता के लिए जाँच लिया, वहाँ मैंने इसे डिफ़ॉल्ट स्थिति में पाया, जिसका अर्थ है कि कॉन्फ़िगर सेट आवश्यकता कमांड मेरे कॉन्फ़िगरेशन में आवश्यकता के मान को सेट करने में विफल रहा, यही कारण है कि यह काम नहीं कर रहा था। कोई भी अनुमान / कारण यह काम क्यों नहीं कर रहा है?
आशीष शुक्ला

52

उदाहरण:

redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok

यदि कोई रेडिस-पी का उपयोग कर रहा है, तो संबंधित कमांड है:redis.Redis.config_set('requirepass', "mycoolpassword")
jamescampbell

कॉन्फ़िगर सेट की आवश्यकता है "myPassword" यह कमांड मेरे लिए काम नहीं कर रहा है, जब मैं इस कमांड को निष्पादित करता हूं तो यह बिना किसी त्रुटि के चलता है। फिर मैंने अपने Redis उदाहरण को फिर से शुरू किया। लेकिन मैं अभी भी सीएलआई से किसी भी पासवर्ड को साबित किए बिना रेडिस के लिए पिंग कर सकता हूं। बाद में मैंने अपने redis.conf को रीपासपास विशेषता के लिए जाँच लिया, वहाँ मैंने इसे डिफ़ॉल्ट स्थिति में पाया, जिसका अर्थ है कि कॉन्फ़िगर सेट आवश्यकता कमांड मेरे कॉन्फ़िगरेशन में आवश्यकता के मान को सेट करने में विफल रहा, यही कारण है कि यह काम नहीं कर रहा था। कोई भी अनुमान / कारण यह काम क्यों नहीं कर रहा है?
आशीष शुक्ला

21
sudo nano /etc/redis/redis.conf 

खोज और अनलोडिंग लाइन # requirepass foobared, फिर सर्वर को पुनरारंभ करें

अब आप पासवर्ड है foobared


18

redis-cli का उपयोग करना:

root@server:~# redis-cli 
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK

यह अस्थायी रूप से पासवर्ड सेट करेगा (जब तक कि रेडिस या सर्वर पुनरारंभ नहीं होता)

परीक्षण पासवर्ड:

root@server:~# redis-cli 
127.0.0.1:6379> AUTH secret_password
OK

7

ओपन रेडिस कॉन्फ़िगरेशन फ़ाइल

sudo nano /etc/redis/redis.conf 

पासफ़्रेज़ सेट करें

बदलने के

# requirepass foobared

साथ में

requirepass YOURPASSPHRASE

पुनः आरंभ करें

redis-server restart

5

उसके लिए, आपको रेडिस कॉन्फ़िगरेशन फ़ाइल को अपडेट करना होगा। डिफ़ॉल्ट रूप से, रेडिस के लिए कोई पासवर्ड नहीं है।

01) ओपन रेडिस कॉन्फ़िगरेशन फ़ाइल

sudo vi /etc/redis/redis.conf

लगता है requirepass के तहत क्षेत्र सुरक्षा अनुभाग और टिप्पणी हटाएं field.Then अपना पासवर्ड बजाय सेट है कि "foobared"

# requirepass foobared

यह जैसा होना चाहिए,

requirepass YOUR_PASSWORD

फिर रेडिस को फिर से शुरू करें और रेडिस-क्लि शुरू करें।

यदि आपको यह जांचने की आवश्यकता है कि क्या आपने पासवर्ड सही तरीके से सेट किया है, तो आप रेडिस-क्ली में कमोड के नीचे चला सकते हैं।

sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> exit


sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> set key2 check
OK
127.0.0.1:6379> get key2
"check"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> get key1
"20"
127.0.0.1:6379> exit

`


4

चरण 1. कमांड /etc/init.d/redis-server स्टॉप नीचे चरण 2 का उपयोग करके रेडिस सर्वर को रोकें। 2. कमांड कमांड: sudo नैनो /etc/redis/redis.conf

स्टेप 3.find # रिक्वायरमेंट फॉरबॉयरेड वर्ड और # को हटा दें और फोबर्ड को अपने पासवर्ड में बदलें

पूर्व। रूट की आवश्यकता है


2

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

कॉन्फ़िगरेशन फ़ाइल पर स्थित होना चाहिए /etc/redis/redis.confऔर पासवर्ड सुरक्षा अनुभाग में स्थापित किया जा सकता है, जो कि रिप्लेसमेंट और लाइम्सस खंड के बीच स्थित होना चाहिए। पासवर्ड सेटअप आवश्यक निर्देश का उपयोग करके किया जाता है। अधिक जानकारी के लिए AUTH कमांड विवरण देखने की कोशिश करें ।


1

रेडिस पासवर्ड कैसे सेट करें?

चरण 1. कमांड /etc/init.d/redis-server स्टॉप के नीचे रेडिस सर्वर को रोकें

चरण 2। कमांड: सुडो नैनो /etc/redis/redis.conf

स्टेप 3.find # रिक्वायरमेंट फॉरबॉयरेड वर्ड और # को हटा दें और फोबर्ड को अपने पासवर्ड में बदलें

पूर्व। रूट की आवश्यकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.