Google Secure LDAP凭证无效:无证书ldapsearch查询失败求助
解决Google Secure LDAP ldapsearch凭证无效问题
问题场景
在Ubuntu 22.04环境下,使用ldap-utils工具执行ldapsearch对接Google Secure LDAP,未使用客户端证书,执行以下命令:
ldapsearch -D "LDAPUser1" -w RAND123 -b "ou=Users,dc=example,dc=com" -H ldaps://ldap.google.com:636
报错信息:
ldap_bind: Invalid credentials (49) additional info: Incorrect password
已确认完整复制Google Secure LDAP「访问凭证」区域的用户名和密码。
排查与解决步骤
1. 修正绑定DN格式
Google Secure LDAP要求绑定DN必须为完整的用户条目DN,而非单纯的用户名。正确格式应为 uid=用户名,ou=Users,dc=域名,dc=后缀。修改后的命令:
ldapsearch -D "uid=LDAPUser1,ou=Users,dc=example,dc=com" -w RAND123 -b "ou=Users,dc=example,dc=com" -H ldaps://ldap.google.com:636
2. 处理密码特殊字符转义问题
若密码包含Shell特殊字符(如!@#$&*等),直接用-w参数传递会被Shell解析转义,导致密码错误。可采用两种方式解决:
- 交互式输入密码(去掉
-w参数):ldapsearch -D "uid=LDAPUser1,ou=Users,dc=example,dc=com" -b "ou=Users,dc=example,dc=com" -H ldaps://ldap.google.com:636 - 用单引号包裹密码,避免Shell解析:
ldapsearch -D "uid=LDAPUser1,ou=Users,dc=example,dc=com" -w 'RAND123' -b "ou=Users,dc=example,dc=com" -H ldaps://ldap.google.com:636
3. 验证用户权限范围
登录Google Admin控制台,进入Secure LDAP设置页面,确认该LDAP用户的授权范围包含目标搜索基准ou=Users,dc=example,dc=com。默认情况下,Google Secure LDAP会限制用户的访问范围,需手动调整授权规则。
4. 排查SSL证书信任问题
部分情况下,SSL证书验证失败会间接导致绑定错误。可临时关闭证书验证排查(仅用于测试,生产环境禁用):
ldapsearch -D "uid=LDAPUser1,ou=Users,dc=example,dc=com" -w RAND123 -b "ou=Users,dc=example,dc=com" -H ldaps://ldap.google.com:636 -Z -LLL
若关闭验证后成功,需将Google根证书导入Ubuntu信任存储:
# 下载Google根证书 wget https://pki.goog/roots.pem # 转换格式并复制到信任目录 sudo cp roots.pem /usr/local/share/ca-certificates/google-roots.crt # 更新系统证书缓存 sudo update-ca-certificates
内容的提问来源于stack exchange,提问作者AngularNerd
相关产品推荐
相关产品推荐

