使用ldap配置rundeck进行AD身份验证

时间:2016-03-29 17:55:06

标签: active-directory ldap ssl-certificate rundeck

在这里尝试查看是否有人使用rundeck对AD进行了LDAP身份验证。我正在为rundesk使用JRE运行方法。以下是我到目前为止所做的事情:

  • 我已经设置了jaas-ldap.conf,如Rundeck authentication users page
  • 所示
  • 我已经要求我的管理员提供ssl证书。要使用ldaps,rundeck需要ssl cert,所以它写在他们的网站上。获得证书后,他们提到了以下两个步骤:
  

获得证书后。添加证书有两种选择。第一个涉及更新JRE的信任库。如果这不可能或不可取,则可以使用包含相应证书的任意任意信任库来设置jvm使用的信任库。

     

这两个选项都需要导入证书。以下内容将名为AD.cert的证书导入/ etc / rundeck / ssl / truststore。

     

keytool -import -alias CompanyAD -file AD.cert -keystore / etc / rundeck / ssl / truststore -storepass adminadmin

     

要将证书添加到JRE,请找到文件$ JAVA_HOME / lib / security / cacerts并运行

     

keytool -import -alias CompanyAD -file AD.cert -keystore $ JAVA_HOME / lib / security / cacerts -storepass changeit

     

要验证您的CA已添加,请运行keytool list并在输出中查找CompanyAD。

     

keytool -list -keystore $ JAVA_HOME / lib / security / cacerts -storepass changeit

这是我遇到问题的地方。我已将证书导入$JAVA_HOME/lib/security/cacerts下的java信任库。 ssl.properties文件还要求keystore, keystore.password, key.password个参数。现在,我应该创建一个新的密钥库或省略这些并只使用信任库变量?

我还尝试创建一个新的密钥库(.jks)并将相同的ssl证书导入到它设置keypass和storepass。这没有用。我收到错误java.io.IOException: Keystore was tampered with, or password was incorrect

我正在使用 - java -Dloginmodule.conf.name=jaas-ldap.conf -Dloginmodule.name=ldap -Drundeck.ssl.config=ssl.properties -jar rundeck-launcher-2.6.4.jar

部署jar

我很感激通过这个帮助。

1 个答案:

答案 0 :(得分:0)

无需向管理员询问ssl证书。如果您的组织使用ldaps并且ldap服务器上安装的证书是自签名证书(不在您的密钥库中),则需要将证书添加到JVM密钥库。现在获取该证书运行以下查询 openssl s_client -connect <ldapserver>:636

这将为-----BEGIN CERTIFICATE--------------END CERTIFICATE--------提供一些输出。将这些字符串之间的文本复制到文件ldap.cert

keytool -import -alias CompanyAD -file ldap.cert -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit。 如果您的密钥库被篡改,则可能需要在系统中重新安装Java。