PHP通过SSH隧道连接到其他网络中的LDAP

前端之家收集整理的这篇文章主要介绍了PHP通过SSH隧道连接到其他网络中的LDAP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的学校开发网站.在那所学校,我们通过LDAP对用户进行身份验证,因此有一个想法是通过学校网站进行相同的操作.在那个网站上,一切都运行良好,但在开发过程中,我经常需要测试这种解决方案是否有效.为了不经常提交我的更改,我想在我的本地计算机上测试此站点,但是为了与LDAP连接,我想使用ssh隧道.在学校网络中,我们有一个服务器通过巫婆我们正在学校网络内部连接.它的地址是phoenix.lo5.bielsko.pl.在这个网络中,我们有LDAP服务器,打开389和636端口.它的地址是auth.lo5.我无法通过SSH访问auth.lo5,我只能连接它以获取一些LDAP条目.所以,我试图通过运行来运行SSH隧道:
ssh -L 636:auth.lo5:636 hfaua@phoenix.lo5.bielsko.pl

然后,我在/ etc / hosts中设置auth.lo5指向127.0.0.1.我以这种方式在PHP中连接到LDAP:

ldap_connect('ldaps://auth.lo5',636);

但是我收到错误无法联系LDAP服务器.我想,问题可能在于它的SSH守护进程配置中的phoenix.lo5.bielsko.pl或传递给ldap_connect()函数的参数.你能告诉我,我应该在sshd_config中设置什么,或者在传递给ldap_connect的参数中设置它以使其正常工作?

我在similar thread发布了同样的问题,但没有人回答我的问题.

附:在我的/ etc / ssh / sshd_config中,我有一行AllowTcpForwarding yes

如果我说得对,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来执行查询

原文链接:https://www.f2er.com/php/136109.html

猜你在找的PHP相关文章