Einloggen ohne Passwort möglich

Hallo, ich habe auf meinen Raspberry Pi vor kurzem Postgresql frisch installiert. Nun kann ich mich über das lokale Netzwerk sowohl mit pgAdmin als auch mit ‘psql -U postgres -h 10.0.0.2’ ohne Passwort einloggen. Nachfolgend die Ausgabe für ‘sudo grep “^[^#]” /etc/postgresql/9.6/main/pg_hba.conf’:

local   all             postgres                                peer
local   all             all                                     peer
host    all             all             10.0.0.0/24             md5
host    all             all             ::1/128                 md5

Direkt am Pi (mit SSH) benötige ich jedoch ein Passwort für ‘psql -U postgres -h localhost’. Nun bin ich verwirrt.

Als welcher System-User machst Du das?

Hallo akretschmer,

ich bin mir leider nicht sicher, ob ich die Frage richtig verstanden habe. Auf dem Raspberry (Raspian) gibt es den Standardnutzer ‘Pi’, für welchen ich das Passwort nach der Installation geändert habe. Die PostgreSQL Datenbank am Raspberry soll später für die Nextcloud dienen. Auf meinem Client Rechner im Netzwerk läuft Ubuntu. Den Nutzer habe ich bei der Installation von Ubuntu erstellt. Der Zugriff auf den Raspberry erfolgt mittels SSH (ssh pi@10.0.0.2) bzw. mit pgAdmin. Ebenfalls läuft bereits auf meinen Ubuntu Rechner PostgreSQL (für QGIS). Auf beiden PostgrSQL Installationen gibt es den Nutzer postgres (mit unterschiedlichen Passworten).

die erste Zeile deiner pg_hba.conf bewirkt, daß sich der System-User ‘postgres’ als DB-User ‘postgres’ direkt anmelden darf (via Unix-Socket). Die zweite bewirkt, daß sich andere Systemuser anmelden können, ohne Passwort. Ich bin mir jetzt grad nicht sicher, ob bzw. wie ‘peer’ funktioniert, wenn man via SSH angemeldet ist. Ich meide eigentlich ‘peer’ und ‘ident’, soweit es geht.

ah ja. Möglicherweise wird ‘localhost’ auf die IPv6-Adresse aufgelöst. Verwende mal 127.0.0.1 statt localhost.

Die Einstellung ‘peer’ war der Default Wert, ich habe diese nun jeweils auf ‘md5’ geändert und PostgreSQL neu gestartet.

Terminaleingabe unter Ubuntu:

BENUTZER@UBUNTU:~$ psql -U postgres -h 10.0.0.2
psql (9.6.5, Server 9.6.6)
SSL-Verbindung (Protokoll: TLSv1.2, Verschlüsselungsmethode: ECDHE-RSA-AES256-GCM-SHA384, Bits: 256, Komprimierung: aus)
Geben Sie »help« für Hilfe ein.

postgres=#

Terminaleingabe unter Ubuntu nach Herstellung einer SSH Verbindung zum Raspberry (ssh pi@10.0.0.2)

pi@raspberrypi:~ $ psql -U postgres -h localhost
Password for user postgres:
psql (9.6.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=#



pi@raspberrypi:~ $ psql -U postgres -h 127.0.0.1
psql: FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "postgres", SSL on
FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "postgres", SSL off

So, das Problem besteht wohl aufgrund der ‘.pgpass’ Datei, welche unter ‘/home/Benutzername/’ zu finden ist und das Passwort gespeichert hat:

10.0.0.2:5432:*:postgres:mein_passwort

Siehe auch:


Ah ja. Diese wurde aber sehr sicher nicht von Außerirdischen angelegt :wink:

Das war wohl die ‘Store password’ Funktion von pgAdmin. Der Eintrag wird jedoch nicht gelöscht, wenn man in pgAdmin die Verbindung zum Server entfernt. Erstellt man die Verbindung erneut, benötigt man somit kein Passwort mehr.