# Unable to Setup Ldap Authentication in Jenkins

**URL:** <https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129>\
**Category:** Ask a question\
**Tags:** question, meeting\
**Created:** [June 19, 2024, 6:10pm UTC](https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129 "2024-06-19T18:10:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ravi1](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@Ravi1](https://community.jenkins.io/u/Ravi1)\
**Post date:** [June 19, 2024, 6:10pm UTC](https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129/1 "2024-06-19T18:10:40Z")

</div>

Hi Jenkins Community,

I’m trying to setup Ldap authentication in my Jenkins, however after passing the required details and tried to test ldap settings, its says connection timed out, also i have set the authorization strategy to ‘Anyone can do anything’, please see the error below and advise further.

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/jenkins/original/2X/0/048e0e507a3b280c9d7a62230870e2572a260977.png)

**Error Logs:**

java.net.ConnectException: Connection timed out  
at java.base/sun.nio.ch.Net.connect0(Native Method)  
at java.base/sun.nio.ch.Net.connect(Net.java:579)  
at java.base/sun.nio.ch.Net.connect(Net.java:568)  
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593)  
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)  
at java.base/java.net.Socket.connect(Socket.java:633)  
at java.base/java.net.Socket.connect(Socket.java:583)  
at java.base/java.net.Socket.(Socket.java:507)  
at java.base/java.net.Socket.(Socket.java:319)  
at jenkins.security.plugins.ldap.LDAPConfiguration$LDAPConfigurationDescriptor.doCheckServer(LDAPConfiguration.java:445)  
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)  
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)  
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)  
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)  
at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36)  
at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48)  
at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26)  
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)  
at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)  
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)  
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)  
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)  
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:289)  
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)  
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)  
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)  
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:836)  
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)  
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)  
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:770)  
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:900)  
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:698)  
at org.kohsuke.stapler.Stapler.service(Stapler.java:248)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)  
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)  
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:163)  
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)  
at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)  
at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)  
at org.jenkinsci.plugins.modernstatus.ModernStatusFilter.doFilter(ModernStatusFilter.java:50)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)  
at jenkins.util.HttpServletFilter$1.doFilter(HttpServletFilter.java:76)  
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:160)  
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:166)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at jenkins.ErrorAttributeFilter.doFilter(ErrorAttributeFilter.java:29)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)  
at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)  
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:110)  
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)  
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)  
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)  
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)  
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)  
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)  
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)  
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)  
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)  
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)  
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)  
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:569)  
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)  
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)  
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)  
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)  
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)  
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)  
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)  
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)  
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)  
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)  
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:46)  
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
at org.eclipse.jetty.server.Server.handle(Server.java:563)  
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)  
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)  
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)  
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)  
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)  
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)  
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:558)  
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379)  
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146)  
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)  
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)  
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)  
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)  
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)  
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)  
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)  
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)  
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)  
at java.base/java.lang.Thread.run(Thread.java:840)

Warm regards,  
Ravi

---

<div class="post-metadata">

**Author:** ![altif](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/altif/32/8519_2.png) [@altif](https://community.jenkins.io/u/altif)\
**Post date:** [June 20, 2024, 12:55pm UTC](https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129/2 "2024-06-20T12:55:14Z")

</div>

@Ravi1

Please see the below steps to troubleshoot the ldap issue:

**1. Verify LDAP Server Address and Port**

- Ensure the URL `ldaps://<ldap-server>:1636` is correct.

**2. Network Connectivity**

- Check if Jenkins can reach the LDAP server using `curl` or `telnet` or `nc`:

```bash
curl --insecure -v ldaps://<ldap-server>:1636

```

Replace with the actual hostname or IP address of your LDAP server.

or

```bash
telnet <ldap-server> 1636

```

or

```bash
nc -zv <ldap-server> 1636

```

**3. SSL/TLS Configuration**

- Import the LDAP server’s certificate into the Java keystore on Jenkins:

```bash
keytool -import -alias ldapserver -file ldapservercert.pem -keystore /path/to/keystore

```

Replace `/path/to/keystore` with the path to the Java keystore used by Jenkins, often located at `$JAVA_HOME/lib/security/cacerts`.

**4. Test with Non-Secure LDAP**

- Temporarily switch to `ldap://` to check if SSL/TLS is the issue.

Use the “Test LDAP Settings” button to verify the connection.

Hope this helps!

---

<div class="post-metadata">

**Author:** ![jenkiniano](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jenkiniano](https://community.jenkins.io/u/jenkiniano)\
**Post date:** [October 30, 2024, 3:50pm UTC](https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129/3 "2024-10-30T15:50:14Z")

</div>

Hi.  
I am trying to configure ldaps (ldap works).  
When I try to login I obtain:  
Caused: org.springframework.ldap.PartialResultException: nested exception is javax.naming.PartialResultException [Root exception is javax.naming.CommunicationException: DomainDnsZones.mydomain.local:636 [Root exception is javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching DomainDnsZones.mydomain.local found.]]

How could I solve?  
Thanks a lot  
Mario

---

<div class="post-metadata">

**Author:** ![poddingue](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/poddingue/32/985_2.png) [@poddingue](https://community.jenkins.io/u/poddingue)\
**Post date:** [October 31, 2024, 9:21am UTC](https://community.jenkins.io/t/unable-to-setup-ldap-authentication-in-jenkins/16129/4 "2024-10-31T09:21:19Z")

</div>

Hi,

To me, it looks like the error you’re encountering indicates that the SSL certificate used by your LDAP server does not have a Subject Alternative Name (SAN) that matches `DomainDnsZones.mydomain.local`. 🤔
