Einloggen ohne Passwort möglich

Konfiguration des PostgreSQL Datenbankservers.
Antworten
Epitaph
Benutzer
Beiträge: 42
Registriert: Di 14. Apr 2015, 20:53

Einloggen ohne Passwort möglich

Beitrag von Epitaph » Sa 9. Dez 2017, 19:35

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':

Code: Alles auswählen

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.

akretschmer
Erfahrener Benutzer
Beiträge: 7458
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Einloggen ohne Passwort möglich

Beitrag von akretschmer » Sa 9. Dez 2017, 20:56

Als welcher System-User machst Du das?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Epitaph
Benutzer
Beiträge: 42
Registriert: Di 14. Apr 2015, 20:53

Re: Einloggen ohne Passwort möglich

Beitrag von Epitaph » Sa 9. Dez 2017, 21:15

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).

akretschmer
Erfahrener Benutzer
Beiträge: 7458
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Einloggen ohne Passwort möglich

Beitrag von akretschmer » Sa 9. Dez 2017, 21:32

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.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

akretschmer
Erfahrener Benutzer
Beiträge: 7458
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Einloggen ohne Passwort möglich

Beitrag von akretschmer » Sa 9. Dez 2017, 21:38

ah ja. Möglicherweise wird 'localhost' auf die IPv6-Adresse aufgelöst. Verwende mal 127.0.0.1 statt localhost.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Epitaph
Benutzer
Beiträge: 42
Registriert: Di 14. Apr 2015, 20:53

Re: Einloggen ohne Passwort möglich

Beitrag von Epitaph » Sa 9. Dez 2017, 22:19

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

Terminaleingabe unter Ubuntu:

Code: Alles auswählen

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)

Code: Alles auswählen

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=# 

Code: Alles auswählen

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

Epitaph
Benutzer
Beiträge: 42
Registriert: Di 14. Apr 2015, 20:53

Re: Einloggen ohne Passwort möglich

Beitrag von Epitaph » So 10. Dez 2017, 09:36

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

Code: Alles auswählen

10.0.0.2:5432:*:postgres:mein_passwort
Siehe auch:
https://stackoverflow.com/questions/210 ... onnections
https://askubuntu.com/questions/304429/ ... ypted-file

akretschmer
Erfahrener Benutzer
Beiträge: 7458
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Einloggen ohne Passwort möglich

Beitrag von akretschmer » So 10. Dez 2017, 10:23

Ah ja. Diese wurde aber sehr sicher nicht von Außerirdischen angelegt ;-)
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Epitaph
Benutzer
Beiträge: 42
Registriert: Di 14. Apr 2015, 20:53

Re: Einloggen ohne Passwort möglich

Beitrag von Epitaph » So 10. Dez 2017, 16:44

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.

Antworten