通过 ssh tunell 进行 Ldapsearch

通过 ssh tunell 进行 Ldapsearch

我有四台机器 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正确。

相关内容