YugabyteDB配置LDAP认证遇连接被拒问题求助
问题排查与修复
核心问题分析
从提供的信息来看,yb-tserver未正常启动或YSQL服务未监听端口,根源在于ysql_hba_conf_csv参数格式错误,导致生成的ysql_hba.conf配置完全无效:
- 启动命令中
ldapsuffix多了一个前置逗号(ldapsuffix=,cn=Tech_username...),且CSV规则分隔符将LDAP配置拆分成了多行; - 生成的
ysql_hba.conf中出现孤立的cn=Tech_username、dc=name等行,违反HBA配置语法,直接导致YSQL服务初始化失败。
修复步骤
1. 终止异常进程
# 查找yb-tserver进程ID ps aux | grep yb-tserver # 强制终止进程(替换{pid}为实际ID) kill -9 {pid}
2. 修正启动命令
将LDAP规则中的ldapsuffix修正为完整DN(去掉前置逗号),并用单引号包裹整个ysql_hba_conf_csv参数,避免内部逗号被误解析为规则分隔符:
./yb-tserver --flagfile tserver.conf --ysql_hba_conf_csv='host all yugabyte 127.0.0.1/32 trust,host all all 0.0.0.0/0 ldap ldapserver=domane.name.local ldapport=389 ldapprefix=uid= ldapsuffix=cn=Tech_username,dc=name,dc=local' >& /hdd/yugabyted/yb-tserver.out &
3. 验证配置文件
启动后检查/hdd/yugabyted/pg_data/ysql_hba.conf,正确的LDAP规则应为单一行:
host all all 0.0.0.0/0 ldap ldapserver=domane.name.local ldapport=389 ldapprefix=uid= ldapsuffix=cn=Tech_username,dc=name,dc=local
不应存在孤立的cn=Tech_username等无效行。
4. 确认服务监听状态
执行命令检查5433端口是否被yb-tserver占用:
ss -tulpn | grep 5433
输出中出现yb-tserver进程则说明服务已正常启动。
5. 重新登录
本地yugabyte用户配置为trust认证,无需输入密码:
./ysqlsh -U yugabyte
额外排查方向
若仍无法连接,查看启动日志/hdd/yugabyted/yb-tserver.out,重点排查:
- HBA配置解析错误提示
- LDAP服务器连接失败日志
- YSQL服务初始化异常信息
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

