¿Cómo especificar un certificado de cliente para psql?


11

Tengo un servidor Postgres con un usuario devque requiere un certificado de cliente para iniciar sesión. Estoy usando el comando psql "sslmode=require user=dev host=db.prod", que me da psql: FATAL: connection requires a valid client certificate.

Sé dónde está el certificado en mi servidor. Mi pregunta es, ¿cómo especifico la ubicación del certificado del cliente psql?



Respuestas:


8

Como se indica en la documentación vinculada por @Milen, puede hacerlo configurando las variables de entorno PGSSLCERTy PGSSLKEY, o agregando sslcert=<cert location> sslkey=<key location>a la cadena de conexión.


2
Notaré aquí eso PGSSLCERTy PGSSLKEYtambién permitiré que se especifiquen rutas , así que no catingrese el certificado o la clave en esas variables.
SeldomNeedy

8

El resultado final parece $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

Todas las variables están aquí .


si coloco la raíz crt en ~ / .postgreqsl / no tengo que proporcionar ninguna clave. Si lo coloco en otro lugar y proporciono sslrootcert, de repente también tengo que proporcionar la clave: ¿sabe cómo funciona?
Radu Simionescu
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.