如何仅使用 SSL 连接配置 postgresql 用户?
How to Configure postgresql User with SSL connection only?
我的步骤(psql v. 9.3):
使用密码创建 psql 用户
给他访问相关数据库
允许来自外部的连接(psql conf)
并将"hostssl all all 0.0.0.0/0 trust"放入pg_hba.conf
我现在需要创建密钥才能连接吗?
我如何测试该密钥是否有效?
感谢您的帮助。
- 将信任更改为 md5(极其重要)
- 尝试使用不同的 ssl 设置从另一个系统通过 psql 进行连接(参见 psql 手册页)。
如果您需要证书,则需要执行其他步骤,但您的问题中未指定。并且可以进行证书身份验证,但这是一个高级主题。
如果您还没有这样做,则必须为 SSL 配置 PostgreSQL 服务器:在 PostgreSQL 数据目录中创建 server.crt
和 server.key
,设置 ssl = on
在 postgresql.conf
中并重新启动服务器。
您不需要客户端证书或密钥即可连接到服务器。
要测试您的设置是否有效,只需连接 psql
。
如果使用 SSL,它将如下所示:
$ psql -d test -h 127.0.0.1
psql (9.3.13)
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
test=#
我的步骤(psql v. 9.3):
使用密码创建 psql 用户
给他访问相关数据库
允许来自外部的连接(psql conf)
并将"hostssl all all 0.0.0.0/0 trust"放入pg_hba.conf
我现在需要创建密钥才能连接吗?
我如何测试该密钥是否有效?
感谢您的帮助。
- 将信任更改为 md5(极其重要)
- 尝试使用不同的 ssl 设置从另一个系统通过 psql 进行连接(参见 psql 手册页)。
如果您需要证书,则需要执行其他步骤,但您的问题中未指定。并且可以进行证书身份验证,但这是一个高级主题。
如果您还没有这样做,则必须为 SSL 配置 PostgreSQL 服务器:在 PostgreSQL 数据目录中创建 server.crt
和 server.key
,设置 ssl = on
在 postgresql.conf
中并重新启动服务器。
您不需要客户端证书或密钥即可连接到服务器。
要测试您的设置是否有效,只需连接 psql
。
如果使用 SSL,它将如下所示:
$ psql -d test -h 127.0.0.1
psql (9.3.13)
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
test=#