时间:2010-07-25 13:10:05

标签: php ssh ldap tunneling

4 个答案:

答案 0 :(得分:1)

如果我说得对,phoenix.lo5和auth.lo5是两台不同的机器。 如果是这样,你必须创建一个到ssh机器的隧道,然后将ldap查询发送到正确的机器。

您的命令:ssh -L 636:auth.lo5:636 hfaua@phoenix.lo5.bielsko.pl是正确的,如果phoenix.lo5.bielsko.pl可以通过DNS或/ etc / hosts解析auth.lo5,如果不是,则需要使用其内部IP地址。

此外,如果你想在你的电脑上使用端口636,你需要以超级用户(root或sudo)运行你的命令,否则你需要使用Borealid所述的高端口(1024以上)

隧道启动后,您必须指向localhost进行查询

答案 1 :(得分:1)

我遇到了同样的问题。使用-d1运行会向我显示此错误:

TLS: hostname (mylaptop.local) does not match common name in certificate (*.mydomain.com). TLS reverse lookup of 'localhost' is 'mylaptop.local', checking if that matches the certificate common name

你可能会遇到类似的问题。

我能够通过运行来伪造它:

sudo hostname someserver.mydomain.com

导致SSL认为它正在与正确的主机通话。

答案 2 :(得分:0)

答案 3 :(得分:0)

我也收到错误hostname (mylaptop.local) does not match common name in certificate (*.mydomain.com)。但是,我不想编辑计算机的主机名以匹配LDAP服务器的主机名。相反,我编辑了hosts文件(在Linux上为etc/hosts)文件,添加了一行可拦截对LDAP服务器的请求,例如:

127.0.0.1 ldap.server.com

这还有一个好处,即不需要您在代码中更改要尝试连接的服务器名称,仅在选择其他端口时才需要更改端口号。