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
나는 점에 유의합니다 PGSSLCERT및 PGSSLKEY도 허용 경로가 그렇게하지 않는, 지정해야 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.