Version: rundeck-3.3.3
OS: Red Hat Enterprise Linux release 8.2 (Ootpa)
Installation:
RPM/DEB
I did these steps (these password are examples and only made to differentiate one from another):
keytool -keystore /etc/rundeck/ssl/keystore -alias rundeck -genkey -keyalg RSA -keypass password123 -storepass password789
then
cp
/etc/rundeck/ssl/keystore
/etc/rundeck/ssl/truststore
edited
/etc/rundeck/ssl/ssl.properties to look like this
keystore=/etc/rundeck/ssl/keystorework
keystore.password=password789
key.password=
password123
truststore=/etc/rundeck/ssl/truststorework
truststore.password=password789
then edited
/etc/rundeck/framework.properties to look like this
....
...
then edited
/etc/rundeck/rundeck-config.properties to look like this
...
...
then created /etc/sysconfig/rundeckd with:
export RUNDECK_WITH_SSL=true
export RDECK_HTTPS_PORT=4443
I also tried with
RUNDECK_WITH_SSL=true
RDECK_HTTPS_PORT=4443
and then tried to run it with:
java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.server.configDir=/etc/rundeck -Dserver.datastore.path=/var/lib/rundeck/data/rundeck -Drundeck.server.serverDir=/var/lib/rundeck -Drdeck.projects=/var/lib/rundeck/projects -Dlog4j.configurationFile=/etc/rundeck/log4j2.properties -Dlogging.config=file:/etc/rundeck/log4j2.properties -Drdeck.runlogs=/var/lib/rundeck/logs -Drundeck.server.logDir=/var/lib/rundeck/logs -Drundeck.config.location=/etc/rundeck/rundeck-config.properties -Drundeck.ssl.config=/etc/rundeck/ssl/ssl.properties -Djava.io.tmpdir=/tmp/rundeck -Drundeck.server.workDir=/tmp/rundeck -Dserver.https.port=4443 -Drdeck.base=/var/lib/rundeck -Xmx1024m -Xms256m -XX:MaxMetaspaceSize=256m -server -jar /var/lib/rundeck/bootstrap/rundeck-3.3.3-20200910.war --skipinstall
And got this erros
[2020-11-10T14:13:23,569] ERROR boot.SpringApplication - Application run failed
org.springframework.boot.web.server.WebServerException: Unable to start embedded Jetty server
at org.springframework.boot.web.embedded.jetty.JettyWebServer.start(JettyWebServer.java:166) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) ~[spring-context-5.1.14.RELEASE.jar!/:5.1.14.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744) [spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391) [spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) [spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at grails.boot.GrailsApp.run(GrailsApp.groovy:96) [grails-core-4.0.3.jar!/:4.0.3]
at grails.boot.GrailsApp.run(GrailsApp.groovy:456) [grails-core-4.0.3.jar!/:4.0.3]
at grails.boot.GrailsApp.run(GrailsApp.groovy:443) [grails-core-4.0.3.jar!/:4.0.3]
at grails.boot.GrailsApp$run.call(Unknown Source) [grails-core-4.0.3.jar!/:4.0.3]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.6.jar!/:2.5.6]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.6.jar!/:2.5.6]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) [groovy-2.5.6.jar!/:2.5.6]
at rundeckapp.Application.main(Application.groovy:30) [classes!/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_265]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_265]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_265]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_265]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [rundeck-3.3.3-20200910.war:?]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [rundeck-3.3.3-20200910.war:?]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) [rundeck-3.3.3-20200910.war:?]
at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:58) [rundeck-3.3.3-20200910.war:?]
Caused by: java.security.UnrecoverableKeyException: Cannot recover key
at sun.security.provider.KeyProtector.recover(KeyProtector.java:315) ~[?:1.8.0_265]
at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:143) ~[?:1.8.0_265]
at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:57) ~[?:1.8.0_265]
at sun.security.provider.KeyStoreDelegator.engineGetKey(KeyStoreDelegator.java:96) ~[?:1.8.0_265]
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineGetKey(JavaKeyStore.java:71) ~[?:1.8.0_265]
at java.security.KeyStore.getKey(KeyStore.java:1023) ~[?:1.8.0_265]
at sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:133) ~[?:1.8.0_265]
at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70) ~[?:1.8.0_265]
at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256) ~[?:1.8.0_265]
at org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1234) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.ssl.SslContextFactory$Server.getKeyManagers(SslContextFactory.java:2260) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:374) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:245) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:92) ~[jetty-server-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:320) ~[jetty-server-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81) ~[jetty-server-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231) ~[jetty-server-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.springframework.boot.web.embedded.jetty.SslServerCustomizer$SslValidatingServerConnector.doStart(SslServerCustomizer.java:248) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.26.v20200117.jar!/:9.4.26.v20200117]
at org.springframework.boot.web.embedded.jetty.JettyWebServer.start(JettyWebServer.java:147) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
... 23 more
I feel like I messed something while trying to use
java -jar rundeck.war --encryptpwd Jetty
For example, when I tried to "encrypt" the password it asked for a user and I used rundeck.
Thank you