psql에 클라이언트 인증서를 지정하는 방법은 무엇입니까?


11

나는 사용자와 포스트 그레스 서버가 dev로그인 할 클라이언트 인증서가 필요합니다. 내가 명령을 사용하고 psql "sslmode=require user=dev host=db.prod"저를 준다 psql: FATAL: connection requires a valid client certificate.

인증서가 서버의 어디에 있는지 알고 있습니다. 내 질문은 클라이언트 인증서 위치를 psql어떻게 지정 합니까?



답변:


8

@Milen이 링크 한 문서에 명시된 바와 같이 PGSSLCERT, PGSSLKEY환경 변수 를 설정 하거나 sslcert=<cert location> sslkey=<key location>연결 문자열 에 추가하면 됩니다.


2
나는 점에 유의합니다 PGSSLCERTPGSSLKEY도 허용 경로가 그렇게하지 않는, 지정해야 cat하는 변수에 인증서 또는 키 자체를.
SeldomNeedy 2016 년

8

최종 결과는 다음과 같습니다 $>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"

모든 변수는 여기에 있습니다 .


~ / .postgreqsl /에 루트 crt를 배치하면 키를 제공 할 필요가 없습니다. 다른 곳에 배치하고 sslrootcert를 제공하면 갑자기 키도 제공해야합니다. 어떻게 작동하는지 알고 있습니까?
Radu Simionescu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.