Postgres şifresi doğrulaması başarısız oluyor


36

PostgreSQL 9.1 ve pgadmin3'ü Ubuntu Server 13.10'a kurdum.

Postgresql.conf dosyasını şu şekilde yapılandırdım: listen_addresses = '*'

Ayrıca ph_hba.conf 'a değiştirilen eş bağlantıları ile yapılandırdım. md5

Artı postgres şifresini şu şekilde sıfırlarım: sudo password postgres

sonra hizmeti ile yeniden başlattınız sudo /etc/init.d/postgresql restart

ondan sonra varsayılan PostgreSQL şablon veritabanına bağlanmaya çalıştım:

sudo -u postgres psql template1

ancak giriş bu hata iletisiyle başarısız oldu:

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

Daha sonra, aynı hatayı veren pgadmin'den giriş yapmaya çalıştım.

Ben burada bir şifre sona erme tarihi olabileceğini okudum hata bug PostgreSQL kullanıcı şifre değiştirdikten sonra sunucuya bağlanamıyor

ama ben çözemedim coz psql ile giriş yapamıyorum. Birisi şimdi bu sorunu nasıl çözebilir?

DÜZENLE

ph_hba dosyası:

İşte

Ekran görüntüsü:

görüntü tanımını buraya girin


6
Bu yazıyı klonladığınız için çok rahatsız oldum. Buna sadece bir cevap yazdım, sadece stackoverflow.com'a zaten kabul edilmiş bir cevabı olan aynı soruyu gönderdiğinizi keşfetmek için yazdım. Cevapları siteler arasında kopyalayıp yapıştırmayın, herkesin zamanını boşa harcar ve bilgi bulmayı zorlaştırırsınız. Bunu yapmakta ısrar ediyorsanız, aralarında bağlantılar kurun.
Craig Ringer

Yanıtlar:


66

Unix kullanıcısı "postgres" şifresini, kullanıcı "postgres" veritabanı şifresiyle karıştırıyorsunuz. Bunlar aynı değil.

Kendinizi kilitlediniz, çünkü md5veritabanı kullanıcısı postgresiçin bir şifre belirlemeden veritabanı kullanıcısı için kimlik doğrulamasını etkinleştirdiniz postgres.

Üstüne yeni bir satır ekle pg_hba.conf:

local    postgres     postgres     peer

sonra PostgreSQL'i yeniden başlatın / yeniden yükleyin ve:

sudo -u postgres psql

Sonuçta ortaya çıkan istemden:

ALTER USER postgres PASSWORD 'my_postgres_password';

daha sonra eklediğiniz satırı kaldırın pg_hba.confve Pg'yi tekrar başlatın. Artık postgreskullanıcı olarak PostgreSQL'e bağlanmak için yukarıda ayarladığınız şifreyi kullanabilirsiniz .

Daha fazla bilgi için , kullanım kılavuzunun "müşteri kimlik doğrulaması" bölümünü ve açık belgelerini okuyunpg_hba.conf .


1
Bir UBUNTU sunucusunda yeni bir pg9.6.6'nın test edilmesi 16 LTS .... Ve tüm bu "acemi problemleri" beni şaşırttı. Çözümle buraya gelin ... Adım adım ilerleyin ... Büyük sürpriz: çalışmıyor! psql -W postgresql://postgres:postgres@localhostaynı "FATAL: şifre doğrulaması 'postgres' kullanıcısı için başarısız oldu" üretiliyor
Peter Krauss

Çözüm: tüm yollarda güven çalışıyor ...
Peter Krauss

Ben ssh kullanıyorum ... md5'e geri döndükten sonra, tek tek (yerel, yerel, ana bilgisayar ...), yalnızca "ana bilgisayar tüm 127.0.0.1/32 güven" değiştirilemez "ile korundu" güven". Öyleyse, yeni soru: neden?
Peter Krauss

pg_hba.confDosya sistemi kullanıcı tarafından sahip olunan postgres. Ben sadece veritabanı kullanıcısının veritabanı şifresini biliyorum postgres, öyleyse soru bu conf dosyasını sahipliğini değiştirmeden nasıl düzenleyebilirim?
Shailen

Lütfen hattın local postgres postgres peergerçekte ne için ihtiyacı olduğunu söyleyebilir misiniz pg_hba.conf? Her şey onsuz iyi çalışıyor
MaxCore

3

Bunu kullanarak veritabanı template1'in şifresini değiştirmeyi deneyin:

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

Bana aynı hatayı verdi ama "postgres" kullanıcısı yerine "root" kullanıcısı ile
Shadin

Bunun neden yardımcı olabileceğini açıklayabilir misiniz?
xliiv

2

pg_hba.conf dosyanızda

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

işe yaramazsa, dene

host    all         all         your_ip/32         trust

daha sonra veri tabanınızı yeniden başlatın, iyi çalışacaktır .. Eğer güvenirseniz, MD5 yaparsanız şifreye gerek kalmaz ve şifre sorulacaktır ...


3
Bu yaklaşımı hiçbir yerde kullanmayın, her zaman kullanıcı verilerinin size erişimini kısıtlamalısınız
En Çok Aranan

Bir CTF sunucusu çalıştırmıyorsanız.
Pathfinder
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.