web-dev-qa-db-fra.com

Utiliser psql pour se connecter à postgresql en mode ssl

J'essaye de configurer le certificat de SSL pour le serveur de PostgreSQL. J'ai créé un fichier de certificat (server.crt) et une clé (server.key) dans le répertoire de données et met à jour le paramètre SSL sur "on" pour activer la connexion sécurisée. 

Je veux seulement que le serveur soit authentifié avec des certificats de serveur côté client et n'exige pas l'authenticité du client côté serveur. J'utilise psql en tant que client pour se connecter et exécuter les commandes.

J'utilise PostgreSQL 8.4 et linux. J'ai essayé avec la commande ci-dessous de me connecter au serveur avec SSL activé

       psql "postgresql://localhost:2345/postgres?sslmode=require"

mais j'obtiens 

       psql: invalid connection option "postgresql://localhost:2345/postgres?sslmode"

Qu'est-ce qui ne va pas ici? Est-ce que la façon dont j'essaie de me connecter au serveur avec le mode SSL activé est correcte? Est-ce bien de n'authentifier que le serveur et pas le client? 

Sil te plait aide moi.

49
Mojoy

psql ci-dessous 9.2 n'accepte pas cette syntaxe de type URL pour les options. 

L'utilisation de SSL peut être pilotée par l'option sslmode=value sur la ligne de commande ou la variable d'environnement PGSSLMODE , mais la valeur par défaut étant prefer, les connexions SSL seront essayées automatiquement sans rien spécifier.

Exemple avec une chaîne conninfo (updated pour psql 8.4)

psql "sslmode=require Host=localhost dbname=test"

Lisez la page de manuel pour plus d'options.

79
Daniel Vérité
psql --set=sslmode=require -h localhost -p 2345 -U thirunas \
-d postgres -f test_schema.ddl
9
Andrii Batiuk
psql -h <Host> -p <port> -U <user> -d <db>

et mettez à jour /var/lib/pgsql/10/data/pg_hba.conf pour changer la méthode auth en cert. Vérifiez le lien suivant pour plus d'informations:

https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html

0
WesternGun

psql "sslmode=require Host=localhost port=2345 dbname=postgres" --username=some_user 

Selon la documentation de psql postgres , seuls les paramètres de connexion doivent figurer dans la chaîne conninfo (c’est pourquoi, dans notre exemple, --username n’est pas dans cette chaîne)

0
Komu