PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 11/02/2015 12:43:16

totof68
Membre

FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Salut tout le monde,


Je ne sais pas si je suis dans la bonne section, mais je vous expose mon problème;

Je n'ai pas trop l'habitude de travailler avec postgresql, et dans le cadre de mon travail nous voulons mettre en place un outil qui s'appel Dynacase, je ne sais pas si vous connaissez ==> http://www.dynacase.org/

Enfin voila pour le context, j'ai donc mis en place posgresql,

netstat -natup | grep "post"
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      17482/postgres  
tcp6       0      0 ::1:5432                :::*                    LISTEN      17482/postgres  
udp6       0      0 ::1:43076               ::1:43076               ESTABLISHED 17482/postgres  

Tout à l'air bon pour cette partie la.

Ensuite j'ai pris ces commandes pour crée une base, un user et mdp :

su postgres
           psql
             CREATE ROLE u_ecliss WITH LOGIN ENCRYPTED PASSWORD 'p_ecliss' SUPERUSER;
             CREATE DATABASE db_ecliss OWNER u_ecliss;
             \q
           exit

Ensuite j'ai crée le fichier pg_service.conf

 [s_ecliss]
           host=127.0.0.1
           port=5432
           dbname=db_ecliss
           user=u_ecliss
           password=p_ecliss

Le soucis c'est que au niveau de l'inteferface php au niveau du service name cela n'a pas l'air de passer, de plus si j'essaie les commandes suivantes :


PGSERVICE=s_ecliss
psql

J'ai le résultat suivant :

psql: FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>

Et au niveau des logs au cas ou


2015-02-11 11:29:09 CET LOG:  a re?u une demande d'arr?t rapide
2015-02-11 11:29:09 CET LOG:  annulation des transactions actives
2015-02-11 11:29:09 CET LOG:  arr?t du processus autovacuum
2015-02-11 11:29:09 CET LOG:  arr?t en cours
2015-02-11 11:29:09 CET LOG:  le syst?me de base de donn?es est arr?t?
2015-02-11 11:29:10 CET LOG:  le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 11:29:09 CET
2015-02-11 11:29:10 CET LOG:  le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 11:29:10 CET LOG:  lancement du processus autovacuum
2015-02-11 11:29:11 CET LOG:  paquet de d?marrage incomplet
2015-02-11 11:29:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:29:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:30:31 CET LOG:  a re?u SIGHUP, rechargement des fichiers de configuration
2015-02-11 11:30:33 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:30:33 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:31:31 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:31:31 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:13 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:13 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:32:44 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:41:32 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>
2015-02-11 11:41:32 CET FATAL:  authentification par mot de passe ?chou?e pour l'utilisateur  << u_ecliss >>

EDIT :

Si j'utilise cette commande la, la connexion à la base de donnée se fait bien....

>psql db_ecliss -U u_ecliss -h localhost
Mot de passe pour l'utilisateur u_ecliss : 
psql (9.1.15)
Connexion SSL (chiffrement : DHE-RSA-AES256-SHA, bits : 256)
Saisissez « help » pour l'aide.

db_ecliss=# exit
db_ecliss-# \q


Quelqu'un aurait une petite idée sur le sujet ?


Cordialement,
Totof

Dernière modification par totof68 (12/02/2015 16:19:48)

Hors ligne

#2 11/02/2015 13:03:53

ruizsebastien
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

bonjour,

Vous pouvez nous donner le contenu de votre fichier pg_hba.conf ?

Cordialement,


Cordialement,

Sébastien.

Hors ligne

#3 11/02/2015 13:06:26

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Voici le contenu du fichier :

# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

Hors ligne

#4 11/02/2015 13:24:36

ruizsebastien
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

A distance la connexion doit être authentifiée par un mot de passe.
ligne "host    all             all             127.0.0.1/32            md5" du pg_hba.conf
Il faut modifier cette ligne comme ceci pour autoriser les ip distantes :
host    all             all             0.0.0.0  0.0.0.0            md5
Il faut aussi ajouter une ligne dans le fichier .pgpass pour votre user u_ecliss
http://docs.postgresql.fr/9.3/libpq-pgpass.html

Cordialement,


Cordialement,

Sébastien.

Hors ligne

#5 11/02/2015 13:36:20

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

D'accord, je viens de faire la modif dans le fichier pg_hba.conf,

Cependant avec la configuration de l'outil il me demande cela :

yOH8aN.png

Je rentre donc les paramètres,

Voici le retour

FTq8Wc.png

Ce qui est étonnant c'est que je n'ai pas de log, concernant postgre pour l'authentification échoué

2015-02-11 12:29:03 CET LOG:  a re?u une demande d'arr?t rapide
2015-02-11 12:29:03 CET LOG:  annulation des transactions actives
2015-02-11 12:29:03 CET LOG:  arr?t du processus autovacuum
2015-02-11 12:29:03 CET LOG:  arr?t en cours
2015-02-11 12:29:03 CET LOG:  le syst?me de base de donn?es est arr?t?
2015-02-11 12:29:04 CET LOG:  le syst?me de bases de donn?es a ?t? arr?t? ? 2015-02-11 12:29:03 CET
2015-02-11 12:29:04 CET LOG:  le syst?me de bases de donn?es est pr?t pour accepter les connexions
2015-02-11 12:29:04 CET LOG:  lancement du processus autovacuum
2015-02-11 12:29:04 CET LOG:  paquet de d?marrage incomplet

Je dirais qu'il me manque quelque chose pour qu'il y ai une liaison serveur web ==> postgresql ?

J'ai bien installer le php5-psql pourtant

Et concernant le fichier .pgpass si j'ai bien compris c'est un fichier que l'on met dans son home ? enfin le home de l'utilisateur postgres ?

Hors ligne

#6 11/02/2015 14:09:39

ruizsebastien
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

si je ne me trompe pas votre base s'appelle db_ecliss ?
dans le postgresql.conf, il faut s'assurer que listen_adresses est configuré (exemple : listen_adresses = '*')

Votre serveur postgresql est arrêté. Relancez le.
Cordialement,


Cordialement,

Sébastien.

Hors ligne

#7 11/02/2015 14:24:33

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

La base s'appel bien db_ecliss pour le test

Au niveau du fichier de conf j'ai bien ceci

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = 'localhost'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3     # (change requires restart)
unix_socket_directory = '/var/run/postgresql'           # (change requires restart)
#unix_socket_group = ''                 # (change requires restart)
#unix_socket_permissions = 0777         # begin with 0 to use octal notation
                                        # (change requires restart)
#bonjour = off                          # advertise server via Bonjour
                                        # (change requires restart)
#bonjour_name = ''                      # defaults to the computer name
                                        # (change requires restart)

J'ai passer listen_addresses = 'localhost' en listen_addresses = '*''

Et au niveau de netstat

netstat -natup | grep "post"
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      3031/postgres   
tcp6       0      0 ::1:5432                :::*                    LISTEN      3031/postgres   
udp6       0      0 ::1:36542               ::1:36542               ESTABLISHED 3031/postgres 

Au niveau du pare-feu étant donnée que c'est un serveur virtuel tout est open

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

Dernière modification par totof68 (11/02/2015 14:26:04)

Hors ligne

#8 11/02/2015 15:06:36

ruizsebastien
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

pour listen_adresses il faut faire un arrêt relance du cluster postgresql.
Pourle nom de la base, ce qui m'étonnait c'est le nom du service (donc de la base) que vous mettez dans la configuration de l'outil dynacase (ecliss au lieu de db_ecliss).


Cordialement,

Sébastien.

Hors ligne

#9 11/02/2015 16:11:16

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Le restart de postgresql est fait ( plusieurs fois même à fois que j'essaie de faire des modifications de config )

En faite pour dynacase, si je ne me trompe pas, on lui indique le nom du service, dans mon cas [s_ecliss] ( même si j'ai aussi essayer ecliss, db_ecliss etc...)
Dynacase va se connecter à la base de donnée en utilisant les valeurs qui se trouve dans pg_service donc :

 [s_ecliss]
           host=localhost
           port=5432
           dbname=db_ecliss
           user=u_ecliss
           password=p_ecliss

Hors ligne

#10 11/02/2015 20:03:00

gleu
Administrateur

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Où avez-vous placé le fichier pg_service.conf ? Avez-vous configuré la variable PGSYSCONFDIR avec le nom du répertoire qui contient ce fichier ?


Guillaume.

Hors ligne

#11 12/02/2015 00:57:34

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Bonsoir Gleu,

Le fichier pg_service.conf est dans le répertoire : cd /etc/postgresql-common/

Je penses que la variable  PGSYSCONFDIR est bonne... enfin comme je disais j'arrive à me connecter a la base de donnée avec l'utilisateur de la base, cependant on dirait que lorsque je veux faire une connexion avec l'outil en php il ne se passe rien... car je ne vois pas de tentative échouer dans les log de posgresql alors du coup je ne sais pas d'ou cela peut provenir étant donnée que j'ai bien le php5-psql d'installer sur le serveur...

Hors ligne

#12 12/02/2015 08:47:27

gleu
Administrateur

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Si vous arrivez à vous connecter à votre base PostgreSQL avec psql du même serveur où se trouve votre application (Dynacast?), avec le nom du service et celui de la base de données, alors le problème vient de Dyncast et il vous revient de vous retourner vers eux pour corriger ce problème.


Guillaume.

Hors ligne

#13 12/02/2015 16:03:47

totof68
Membre

Re : FATAL: authentification par mot de passe ?chou?e pour l'utilisateur

Je viens de refaire un test avec une nouvelle base de donnée, utilisateur & co, et cela fonctionne parfaitement.

Mon fichier de configuration pg_service devait avoir un soucis avec des tabulations je pense, car j'ai refais un service dedans avec les nouvelles info et l'installation s'est bien faite.

En tout cas merci pour votre aide smile

Hors ligne

Pied de page des forums