bisher habe ich mich immer per ident-map bei meinem System authentifiziert.
Nun will ich mich aus dem lokalen Netzwerk verbinden können. In der pg_hba.conf ist dort ein md5 Passwort gefordert.
Also neuer Benutzer:
CREATE USER meinuser PASSWORD 'md5+meinverschlüsseltespasswort';
(ohne das plus)
Wenn ich jetzt also mit dem Rechner eine Verbindung herstellen soll, muss ich verhindern dass er die UDP Sockets anspricht.
Wie geht das?
psql -h 127.0.0.1 -U meinuser
klappt nicht. Passwort wird zwar abgefragt, aber nicht akzeptiert. Ich kann aber ausschließen, dass es sich um das falsche Passwort handelt. Hat jemand eine Idee woran es liegt? Ist das Muster des Passwortes falsch, ich habe gelesen man müsste md5 voranstellen.
ok das ist doch schon mal sehr hilfreich, hatte ich aber aus einem Buch.
Was ich plane: Ich will einfach nur statt über Identmap über die TCP Sockets den Benutzer anmelden und das in dem Fall trotzdem vom gleichen Rechner aus.
…? wieso ne Menge falsch. Die UDP-Sockets sind doch die Dinger für die interne Kommonikation und werden also bei der ident map benutzt (bringe ich da was durcheinander?..eigentlich auch egal)
Ja genau das will ich auch, also ohne UDP-Sockets über das locale Netzwerk.
Kann die pg_hba.conf leider nicht selbst einsehen, aber eigentlich wurde da eingestellt, dass sich alle Benutzer auf allen Datenbanken per md5 authentifizieren können.
Kann es vllt auch an dem Zeichensatz der Konsole (UTF8 ) liegen? Weiß jemand wie man herausfinden kann, welcher Zeichensatz auf dem Server eingestellt ist?
Es scheint sich tatsächlich nur um ein Passwort Problem zu handeln
Denn folgendes habe ich jetzt herausgefunden:
ALTER USER app PASSWORD ‘testpasswort’;
In diesem Falle gebe ich es unverschlüsselt an,
Mache ich selbst im Netz die md5 Verschlüsselung so kommt was anderes heraus, als in der pg_authid unter dieser Rolle steht.
Wie kann das sein? Ich mache meine Einstellungen über Putty , kann es doch irgendwie sein dass meine Zeichen anders interpretiert werden?
Danke für eure Hilfe, aber wie ich befürchtete lag es nicht an der pg_hba.conf
Allerdings auch nicht an den Zeichensätzen.
Das Problem war: Mit der Option -h 127.0.0.1 verbindet man sich trotzdem noch per UDP socket und nicht wie gewünscht über TCP. Es hat funktioniert als ich -h eingegeben habe.
Diese Beobachtung wäre korrekt wenn Du das UDP gegen UNIX tauschen würdest. Im übrigen kann man das auch mittels -p 5432 erreichen. Auf localhost wird Unix-Socket halt bevorzugt, weil es schneller ist.