Estoy desarrollando un sitio web para mi escuela. En esa escuela autenticamos a los usuarios a través de LDAP, por lo que hubo una idea de hacer lo mismo a través de la escuela. En ese sitio, todo está funcionando perfectamente, pero durante el desarrollo, a menudo necesito probar si esa solución funciona o no. Para no comprometer mis cambios tan a menudo, quiero probar este sitio en mi computadora local, pero para conectarme con LDAP quiero usar el túnel ssh. En la red de la escuela tenemos un servidor a través del cual nos conectamos dentro de nuestra red escolar. Su dirección es phoenix.lo5.bielsko.pl
. Dentro de esta red tenemos un servidor LDAP con puertos 389 y 636 abiertos. Su dirección es auth.lo5
. No tengo acceso a auth.lo5
a través de SSH, solo me puedo conectar con él para obtener algunas entradas de LDAP. Por lo tanto, he tratado de ejecutar túnel SSH ejecutando:PHP conectar a través de túnel SSH a LDAP en otra red
ssh -L 636:auth.lo5:636 [email protected]
Entonces, me he fijado en mi /etc/hosts
que auth.lo5
está señalando a 127.0.0.1
. Estoy conectando a LDAP en PHP de tal manera:
ldap_connect('ldaps://auth.lo5', 636);
Pero estoy de error Can't contact LDAP server
. Creo que ese problema podría estar en phoenix.lo5.bielsko.pl
en su configuración de daemon SSH o en argumentos pasados a la función ldap_connect()
. ¿Puede decirme qué debo configurar en sshd_config o en los argumentos pasados al ldap_connect
para que funcione?
He publicado la misma pregunta en similar thread, pero nadie ha respondido a mi pregunta.
P.S. En mi /etc/ssh/sshd_config
tengo línea de AllowTcpForwarding yes
Si usa las herramientas de línea de comandos LDAP, ¿funcionan? Intenta usar 'ldapwhoami -H ldaps: // auth.lo5' primero - PHP no informa tantos mensajes útiles como las utilidades LDAP de la línea de comando. – Borealid
@Borealid, nuestro servidor LDAP no permite enlazar de forma anónima, así que he escrito 'ldapwhoami -D cn = lo5-www, ou = servicios, dc = auth, dc = lo5 -W -H ldaps: // auth .lo5' y en la respuesta fénix es 'dn: cn = lo5-www, ou = servicios, dc = auth, dc = lo5', pero en mi escritorio es' ldap_sasl_bind (SIMPLE): No se puede contactar servidor LDAP (-1) ' – Hfaua
Hasta que las herramientas de la línea de comandos funcionen, su túnel SSH no está activo. Dado que el comando que estás usando es puntual (y, sinceramente, estoy * impresionado *, sabes cómo hacerlo - ¡el túnel SSH es complicado!), Solo tengo una sugerencia más. Intente utilizar un puerto sin privilegios (superior a 1024) para el puerto local (como en, 'ssh -L 9999: auth.lo5.bielsko.pl: 636'). ¡También especifique un FQDN! Aún así, prueba con las herramientas de línea de comandos. ¡Y asegúrese de que funcionen desde phoenix.lo5 a auth.lo5! – Borealid