पासवर्ड प्रमाणीकरण विफल हो जाता है


36

मैंने Ubuntu सर्वर 13.10 पर PostgreSQL 9.1 और pgadmin3 स्थापित किया है।

मैंने postgresql.conf को इसके साथ कॉन्फ़िगर किया है: listen_addresses = '*'

मैंने भी परिवर्तित peer कनेक्शनों द्वारा ph_hba.conf को कॉन्फ़िगर किया है md5

इसके अलावा मैंने पोस्टग्रेज का पासवर्ड रीसेट कर दिया है: sudo password postgres

फिर से सेवा को फिर से शुरू किया sudo /etc/init.d/postgresql restart

उसके बाद मैंने डिफ़ॉल्ट PostgreSQL टेम्पलेट डेटाबेस से कनेक्ट करने का प्रयास किया:

sudo -u postgres psql template1

लेकिन इस त्रुटि संदेश के साथ लॉगिन विफल हो गया:

psql: FATAL:  password authentication failed for user "postgres"

तब मैंने pgadmin से लॉगिन करने की कोशिश की, जिससे मुझे वही त्रुटि मिली।

मैंने यहाँ पढ़ा है कि यह एक पासवर्ड एक्सपायरी डेट हो सकती है बग पोस्टग्रेक्यूएल उपयोगकर्ता पासवर्ड बदलने के बाद सर्वर से कनेक्ट नहीं हो सकता है

लेकिन मैं इसे हल नहीं कर सका coz मैं psql के साथ लॉगिन नहीं कर सकता। अब किसी को भी इस मुद्दे को हल करने के लिए कैसे करता है?

संपादित करें

ph_hba फ़ाइल:

यहाँ

स्क्रीनशॉट:

यहाँ छवि विवरण दर्ज करें


7
मुझे इस बात से काफी चिढ़ है कि आपने इस पोस्ट को क्लोन किया है। मैंने अभी इसका उत्तर लिखा है, केवल यह जानने के लिए कि आपने stackoverflow.com पर एक समान प्रश्न पोस्ट किया है जिसमें पहले से ही एक स्वीकृत उत्तर था। साइटों के बीच उत्तरों को कॉपी और पेस्ट न करें, आप हर किसी का समय बर्बाद कर रहे हैं और जानकारी प्राप्त करना कठिन बना रहे हैं। यदि आप ऐसा करने के लिए जोर देते हैं, तो उनके बीच संबंध बनाएं।
क्रेग रिंगर

जवाबों:


66

आप यूनिक्स उपयोगकर्ता के लिए पासवर्ड को भ्रमित कर रहे हैं डेटाबेस डेटाबेस "पोस्टग्रेज" के लिए डेटाबेस पासवर्ड के साथ "पोस्टग्रेज"। ये समान नहीं हैं।

आपने अपने आप को लॉक कर लिया है, क्योंकि आपने md5डेटाबेस उपयोगकर्ता के postgresलिए पासवर्ड सेट किए बिना डेटाबेस उपयोगकर्ता के लिए प्रमाणीकरण सक्षम कर दिया है postgres

के शीर्ष पर एक नई पंक्ति जोड़ें pg_hba.conf:

local    postgres     postgres     peer

उसके बाद PostgreSQL को पुनः आरंभ / पुनः लोड करें और:

sudo -u postgres psql

परिणामी संकेत से:

ALTER USER postgres PASSWORD 'my_postgres_password';

फिर आपके द्वारा जोड़ी गई लाइन को हटा दें pg_hba.confऔर Pg को फिर से शुरू करें। अब आप उपर्युक्त पासवर्ड को postgresउपयोगकर्ता के रूप में PostgreSQL से कनेक्ट करने के लिए उपयोग कर सकते हैं ।

अधिक जानने के लिए, उपयोगकर्ता मैनुअल के "क्लाइंट प्रमाणीकरण" अध्याय और डॉक्स कोpg_hba.conf पढ़ें ।


1
UBUNTU सर्वर 16 LTS में एक नए pg9.6.6 का परीक्षण .... और मुझे इन सभी "शुरुआती समस्याओं" से आश्चर्य हुआ। समाधान के साथ यहां पहुंचें ... कदम से कदम ... बड़ा आश्चर्य: काम नहीं कर रहा है! psql -W postgresql://postgres:postgres@localhostफिर से वही उत्पादन "FATAL: पासवर्ड प्रमाणीकरण उपयोगकर्ता 'पोस्टग्रेज' के लिए विफल रहा
पीटर क्रूस

समाधान: सभी लाइनें विश्वास काम कर रही हैं ...
पीटर क्रूस

मैं ssh का उपयोग कर रहा हूं ... सभी को md5 में वापस रखने के बाद, एक एक करके (स्थानीय, स्थानीय, होस्ट ...), केवल लाइन "होस्ट सभी 127.0.0.1/32 ट्रस्ट" को बदल नहीं सकते, के साथ संरक्षित किया गया था " भरोसा"। तो, नया सवाल: क्यों?
पीटर क्रूस

pg_hba.confफ़ाइल उपयोगकर्ता प्रणाली के स्वामित्व में है postgres। मैं केवल डेटाबेस उपयोगकर्ता के डेटाबेस पासवर्ड को जानता हूं postgres, इसलिए सवाल यह है कि मैं इस गोपनीय फ़ाइल को अपने स्वामित्व को बदलने के बिना कैसे संपादित करूं?
शैलीन

क्या आप कृपया बता सकते हैं कि local postgres postgres peerवास्तव में किस लाइन की आवश्यकता थी pg_hba.conf? इसके बिना सब कुछ अच्छा काम करता है
MaxCore

3

डेटाबेस टेम्पलेट 1 के पासवर्ड को संशोधित करने का प्रयास करें।

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1

मुझे एक ही त्रुटि दी लेकिन उपयोगकर्ता "पोस्टग्रेज" के बजाय उपयोगकर्ता "रूट" के साथ
शादिन

क्या आप बता सकते हैं कि यह क्यों मदद कर सकता है?
xliiv

2

अपने pg_hba.conf में

# IPv4 local connections:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32         trust

अगर यह काम नहीं करता है तो प्रयास करें

host    all         all         your_ip/32         trust

फिर अपने डेटा बेस को पुनरारंभ करें यह ठीक काम करेगा .. यदि आप विश्वास करते हैं तो पासवर्ड की कोई आवश्यकता नहीं है यदि आप एमडी 5 बनाते हैं तो यह आपको कंप्यूटर से पूछेगा ...


3
कहीं भी इस दृष्टिकोण का उपयोग न करें, आपको हमेशा डेटा तक उपयोगकर्ता की पहुंच को प्रतिबंधित करना चाहिए
मोस्ट वांटेड

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