在PostgreSQL Citus集群中设置免密登录的安全方式涉及到使用pg_hba.conf
文件配置本地认证和SSL证书。以下是设置免密登录的步骤和示例配置:
- 创建一个SSL证书和私钥对。
- 配置
pg_hba.conf
以允许基于SSL的本地连接。 - 配置PostgreSQL以使用SSL证书。
步骤1:生成SSL证书和私钥
mkdir -p ~/.postgresql
cd ~/.postgresql
openssl req -new -text -out server.req
openssl rsa -in privkey.pem -out server.key
openssl req -x509 -in server.req -text -key server.key -out server.crt
步骤2:配置pg_hba.conf
找到PostgreSQL的pg_hba.conf
文件,通常位于数据目录下(例如/var/lib/postgresql/data
)。添加以下行:
# TYPE DATABASE USER ADDRESS METHOD
hostssl all all 127.0.0.1/32 trust
hostssl all all ::1/128 trust
步骤3:配置PostgreSQL以使用SSL
编辑PostgreSQL的postgresql.conf
文件,启用SSL并指定证书位置:
ssl = on
ssl_cert_file = '~/.postgresql/server.crt'
ssl_key_file = '~/.postgresql/server.key'
重启PostgreSQL服务以应用更改。
注意:请确保将pg_hba.conf
和postgresql.conf
中的文件路径设置为正确的证书和私钥文件路径。此外,出于安全考虑,应使用复杂的密码和严格的访问控制来保护证书和私钥。