2

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

  • 我已经设置了 jaas-ldap.conf,如Rundeck 身份验证用户页面所示
  • 我已向我的管理员申请 ssl 证书。要使用 ldaps rundeck 需要 ssl 证书,所以它写在他们的网站上。获得证书后,他们提到了以下两个步骤:

一旦获得证书。添加证书有两种选择。第一个涉及更新 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. 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

我很感激帮助通过这个。

4

1 回答 1

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。

于 2017-02-07T14:50:37.553 回答