Je développe un site web pour mon école. Dans cette école, nous authentifions les utilisateurs via LDAP, donc il y avait une idée de faire la même chose via le site de l'école. Sur ce site, tout fonctionne parfaitement, mais en cours de développement j'ai souvent besoin de tester si une telle solution fonctionne, ou non. Afin de ne pas commettre mes changements si souvent je veux tester ce site sur mon ordinateur local, mais pour la connexion avec LDAP je veux utiliser le tunnel ssh. Dans le réseau scolaire, nous avons un serveur à travers lequel nous nous connectons avec l'intérieur de notre réseau scolaire. C'est l'adresse phoenix.lo5.bielsko.pl
. À l'intérieur de ce réseau, nous avons un serveur LDAP avec 389 et 636 ports ouverts. C'est l'adresse auth.lo5
. Je n'ai pas accès à auth.lo5
via SSH, je ne peux me connecter qu'avec lui pour obtenir des entrées LDAP. Alors, je l'ai essayé de courir le tunnel SSH en exécutant:PHP se connecter via un tunnel SSH à LDAP dans un autre réseau
ssh -L 636:auth.lo5:636 [email protected]
Ensuite, je l'ai mis dans mon /etc/hosts
que auth.lo5
pointe vers 127.0.0.1
. Je me connecte à LDAP en PHP de telle manière:
ldap_connect('ldaps://auth.lo5', 636);
Mais je reçois une erreur Can't contact LDAP server
. Je pense que ce problème peut être sur phoenix.lo5.bielsko.pl
dans sa configuration de démon SSH ou dans les arguments passés à la fonction ldap_connect()
. Pouvez-vous me dire, que dois-je définir dans sshd_config ou dans les arguments passés à ldap_connect
pour le faire fonctionner?
J'ai posté la même question dans similar thread, mais personne n'a répondu à ma question.
P.S. Dans mon /etc/ssh/sshd_config
je ligne AllowTcpForwarding yes
Si vous utilisez les outils de ligne de commande LDAP, fonctionnent-ils? Essayez d'abord d'utiliser 'ldapwhoami -H ldaps: // auth.lo5' - PHP ne signale pas autant de messages utiles que les utilitaires LDAP en ligne de commande. – Borealid
@Borealid, notre serveur LDAP ne permet pas de lier anonymement, donc j'ai tapé 'ldapwhoami -D cn = lo5-www, ou = services, dc = auth, dc = lo5 -W -H ldaps: // auth .lo5' et sur phoenix la réponse est 'dn: cn = lo5-www, ou = services, dc = auth, dc = lo5', mais sur mon bureau son' ldap_sasl_bind (SIMPLE): Impossible de contacter le serveur LDAP (-1) ' – Hfaua
Jusqu'à ce que les outils de ligne de commande fonctionnent, votre tunnel SSH n'est pas en place. Puisque la commande que vous utilisez est sur place (et, honnêtement, je suis * impressionné * vous savez comment faire cela - le tunnelage SSH est compliqué!), Je n'ai qu'une suggestion de plus. Essayez d'utiliser un port non privilégié (supérieur à 1024) pour le port local (comme dans 'ssh -L 9999: auth.lo5.bielsko.pl: 636'). Indiquez également un FQDN! Encore, testez avec les outils de ligne de commande. Et assurez-vous qu'ils travaillent de phoenix.lo5 à auth.lo5! – Borealid