Hey zusammen,
so langsam komme ich an meine Grenzen.
Ich habe eine Postgresql Datenbank (12) aufgebaut und eine Datenbank angelegt mit User / Rolle.
Nun möchte ich mich von dem lokalen System (oder einem anderen) damit verbinden:
psql -h -p 5433 -U postgres
Wenn ich in der PG_HBA die Anmeldung aus dem Netz auf “Trust” setze klappt es, klar, wird ja auch einfach durchgewunken. Finde ich nur eher unsicher.
Sobald ich aber MD5, Password oder sonstige Parameter einstelle (DB immer neu gestartet) kommt noch der Login-Prompt und danach die Meldung "psql: error: FATAL: password authentication failed for user "
Ich habe das Kennwort nun auf vier Zeichen geändert, sowohl in der Datenbank mit alter Befehl als auch im OS bei dem entsprechenden User. Diese sind also alle gleich.
Dennoch kommt immer wieder die Meldung… Das kann doch nicht sein? Wo liegt mein Fehler?
Google sagt Trust einfach lassen, das halte ich jedoch unter Sicherheitsaspekten für nicht wirklich schön… Kenne ich auch so von keiner Datebank. Also, was mache ich falsch?
Du brauchst bur den DB-User Passwort zu setzen, und Du mußt den korrekten Eintrag in der pg_hba.conf ändern, dann klappt das auch. Was hast Du denn genau gemacht?
Nun ja, /26 ist keine valide CIDR-Adresse, und trust - vertraut halt. Ändere das mal auf 0.0.0.0/0 z.B. oder halt korrekte CIDR für Dein Netz. Eine Änderung der pg_hba.conf wird auch durch simples reload übernommen, Restart nicht nötig.
0.0.0.0 scheint da auch nicht gut zu sein:
psql: error: FATAL: no pg_hba.conf entry for host “10.128.1.89”, user “mqttauth”, database “mqttauth”, SSL off
Wenn ich das Netz wieder eintrage klappt es wenigstens bis zum falschen Kennwort wieder.
Ich habe nun mal einen konkreten Eintrag als erstes gesetzt, also die IP und nicht das Netz.
Dazu dann die Option “password”. Wird abgefragt und es kommt der gleiche Fehler, dass es nicht gültig sei…
Okay, nehmen wir mal an, es wäre so.
Wie setze ich es korrekt? Ist der oben genannte Befehl in einer PSQL Umgebung nicht hinreichend?
Oder wie kann ich den Part ggf. nochmal machen zur Sicherheit?
Ich nehme bislang immer Test (ohne Anführungszeichen bei der Eingabe). Richtig?
War unglücklich ausgedrückt, entschuldige.
Im Befehl (alter user…) ist es mit ’
Wenn ich hingegen in PSQL nach einem Kennwort gefragt werde gebe ich “nur” Test ein.
So rum ist es richtig.