
1
初始用户本地免密登录
gsqlgsql ((MogDB 3.1.1.100 build 501a8955) compiled at 2023-07-03 19:59:26 commit 0 last mr 1796 )Non-SSL connection (SSL connection is recommended when requiring high-security)Last login: 2023-08-16 15:08:17.350982+08 from gs_clean@::1Type "help" for help.MogDB=#2
本地非初始用户免密登录
初始用户是 ommxxx
其他操作系统用户数testxxx,为了安全,此用户和初始用户在同一操作系统用户组下
unix_socket目录为 data/xxx/tmp
监听端口为 44000
2.1 配置unix_socket目录及文件权限
#postgresql.conf...unix_socket_directory=/data/xxx/tmpunix_socket_permision=0770...
chmod 0770 data/xxx/tmp
2.2 配置pg_hba.conf
去掉local … trust;
增加local … peer map=mymap,当然,这里的mymap是可变的,和下一个修改对应即可:
#pg_hba.conf...#local all all trustlocal all all peer map=mymap...
2.3 配置pg_ident.conf
# pg_ident.conf# MAPNAME SYSTEM-USERNAME PG-USERNAMEmymap ommxxx ommxxxmymap testxxx ommxxx
2.4 重启数据库
gs_ctl restart
2.5 其他操作系统用户即可免密登录
[testxxx@node156 ~]$ gsql -r -h /data/xxx/tmp -p 44000 -Uommxxx -d postgresgsql ((MogDB 3.1.1.100 build 501a8955) compiled at 2023-07-03 19:59:26 commit 0 last mr 1796 )Non-SSL connection (SSL connection is recommended when requiring high-security)Last login: 2023-08-16 15:28:07.131802+08 from gs_clean@::1Type "help" for help.
3
SSL免密登录
需免密登录用户为 testssl
客户端ip为 172.16.3.250
服务器ip为 172.16.3.156
数据监听端口为 61234
3.1 生成SSL认证文件
cp $GAUSSHOME/share/sslcert/gsql/openssl.cnf .
生成SSL CA
openssl req -new -x509 -days 9999 -nodes -config openssl.cnf \-out CA.crt -keyout CA.key -subj "/CN=CA"
生成服务器key
openssl req -new -nodes -text -config openssl.cnf \-out server.csr -keyout server.key -subj "/CN=server"openssl x509 -req -text -days 9999 -CA CA.crt -CAkey CA.key -CAcreateserial \-in server.csr -out server.crt
生成客户端key
openssl req -new -nodes -text -config openssl.cnf \-out testssl.csr -keyout testssl.key -subj "/CN=testssl"openssl x509 -req -text -days 9999 -CA CA.crt -CAkey CA.key -CAcreateserial \-in testssl.csr -out testssl.crt
3.2 数据库创建对应用户
gsql -r -c "create user testssl password 'test@123';"
3.3 修改数据库参数
# postgresql.confssl=onssl_cert_file= 'server.crt'ssl_key_file= 'server.key'ssl_ca_file='CA.crt'
# pg_hba.conf...hostssl all all 172.16.3.250/32 cert
gs_ctl restart
3.4 客户端可通过SSL认证文件免密登录
方式1:在gsql命令行加入几个SSL文件的对应关系
gsql "sslrootcert=/tmp/CA.key sslcert=/tmp/testssl.crt sslkey=/tmp/testssl.key" \-h 172.16.3.156 -p 61234 -U testssl
方式2:设置SSL变量后登录
export PGSSLROOTCERT=/tmp/CA.crtexport PGSSLCERT=/tmp/testssl.crtexport PGSSLKEY=/tmp/testssl.keygsql -h172.16.3.156 -p61234 -Utestsslgsql ((MogDB 3.0.3 build 23ba838d) compiled at 2022-10-22 09:50:39 commit 0 last mr )SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)Type "help" for help.
4
以PG客户端psql进行免密登录
关于作者
END
访问官网了解更多:www.mogdb.io
产品兼容适配申请:partner@enmotech.com
加微信进入交流群:Roger_database


文章转载自MogDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




