我有四台机器 A、B、C、D,我想ldapsearch
在第一台机器上通过 ssh 隧道连接到 C,然后从 B 跳转到 C。ldapsearch
例如,目前 C 上的 ldap 服务器与 D 上的 ldap 服务器联系
someuser@remote-c $ ldapsearch -x -LLL 'uid=someuser'
...
This works and returns my info
...
在 AI 上放置了正确的证书(从 C 中复制了我已经拥有的证书)并放入了以下 ldap 配置/etc/ldap.conf
(在remote-c
此配置中/etc/ldap/ldap.conf
)
URI ldaps://localhost:5000
...
并运行以下命令(或多或少,我说的someuser
意思是那台机器上的帐户)
someuser@remote-a $ ssh -L 5000:remote-d:636 -J someuser@remote-b someuser@remote-c
经过一些调试后,我认为隧道正在运行,但打开隧道后我仍然无法联系 ldap 服务器remote-a
。
主要问题是,即使其他机器的配置文件大致相同,但 ldapsearch 似乎并没有真正加载该配置文件。
版本。我不知道这也许取决于我使用的 OpenLDAP 版本,所以它们在这里:
remote-a
:someuser@remote-a $ ldapsearch -V ldapsearch: @(#) $OpenLDAP: ldapsearch 2.6.2 (May 29 2022 09:54:34) $ openldap (LDAP library: OpenLDAP 20602)
在这台机器上我可以安装任何我想要的,所以这是最新的)
remote-c
:someuser@remote-c $ ~$ ldapsearch -V ldapsearch: @(#) $OpenLDAP: ldapsearch (May 2 2020 00:44:42) $ pbuilder@build01:/build/openldap-2.4.40+dfsg/debian/build/clients/tools (LDAP library: OpenLDAP 20440)
这可行,但是 ldap 版本太旧,我无法更新。
所以我的问题是 ldap 是否真的需要那个地方的配置,如果是的话字符串是否ldaps://localhost:5000
正确。