pgsql 打开ssl步骤

2018-05-04  本文已影响0人  wxbbn

1 安装openssl yum install openssl

2 生成 openssl genrsa -des3 -out server.key 1024(密码记住,生成完毕后用openssl rsa -in server.key -out server.key移除密码)

3 更改权限

     chmod 400 server.key

    chown postgres:postgres server.key

4 生成证书crt文件证书内容自己改

    openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=thebrain.ca/emailAddress=info@thebrain.ca'

    cp server.crt root.crt

5 将三个文件server.key server.crt root.crt复制到pgdata目录

6 编辑postgresql.conf 文件:

ssl = on

ssl_ca_file = 'root.crt'

ssl_cert_file = 'server.crt'

ssl_key_file = 'server.key'

7修改pg_hba.conf

hostssl all postgres 0.0.0.0/0 md5 clientcert=1

8重启服务

systemctl restart postgresql-10

以上工作为服务端配置,接下来要配置客户端的证书

在服务器上生成客户端的证书:

9 生成私钥openssl genrsa -des3 -out /tmp/postgresql.key 1024(移除密码命令:openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key)

10 创建客户端证书postgresql.crt,该证书必须用服务器上的root.crt签名,同时一定注意证书的Common Name(CN)必须与访问服务器的用户名一致:

openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrain.ca/CN=pgUser'

openssl x509 -req -in /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial

11 把/tmp目录下面的上述三个文件包括root.crt一起复制到客户端:~/.postgresql/(windows下面为%appdata%\postgresql\)

12 注意删除服务器上面/tmp目录下面生成的文件。

上一篇下一篇

猜你喜欢

热点阅读