Interfaz de línea de comandos
A continuación, se proporciona información para la solución de problemas de la CLI. Para ver consejos generales de solución de problemas y buscar temas de solución de problemas, consulte Solución de problemas de EJBCA .
Problema: No se puede acceder a la CLI de EJBCA
Al acceder a la CLI de EJBCA ejecutando ${EJBCA_HOME}/bin/ejbca.sh, aparece el siguiente mensaje de error:
> /opt/ejbca/bin/ejbca.shError: CLI could not contact EJBCA instance. Either your application server is not up and running, EJBCA has not been deployed successfully, or some firewall rule is blocking the CLI from the application server. Causa
Bajo el capó, esto es causado por una IllegalStateException con el mensaje de error "No hay receptor EJB disponible para manejo".
Pasos para la solución de problemas
Se asume que utiliza JBoss como servidor de aplicaciones y RHEL como sistema operativo. Los pasos para la resolución de problemas serán muy similares si utiliza, por ejemplo, Wildfly en lugar de JBoss u otra distribución de Linux como Debian.
Asegúrese de que JBoss esté en funcionamiento:
ps aux | grep ${JBOSS_HOME}/bin/standalone.shSi JBoss no se está ejecutando, inícielo.
Asegúrese de que EJBCA se haya implementado correctamente:
ls ${JBOSS_HOME}/standalone/deployments | grep ejbca.ear.deployedSi EJBCA no se ha implementado correctamente, verifique el archivo de registro de JBoss para averiguar por qué:
cat ${JBOSS_HOME}/standalone/log/server.log | grep ERROR -C10| lessSolucione el problema y vuelva a implementar EJBCA ejecutando lo siguiente:
cd ${EJBCA_HOME}ant -q clean deployearAsegúrese de que el servidor de aplicaciones esté escuchando el puerto configurado en dist/ejbca-ejb-cli/jboss-ejb-client.properties (a menos que haya editado la configuración, debe ser el puerto 4447).
sudo lsof -i:4447Si se conecta remotamente, este puerto debe estar abierto en el firewall. Revise las reglas del firewall y abra este puerto para el tráfico TCP entrante si es necesario.
sudo firewall-cmd --zone=public--list-ports | grep4447/tcpAsegúrese de que el usuario que ejecuta el servidor de aplicaciones tenga acceso de lectura y ejecución a los archivos de autenticación relevantes:
Si se utiliza la autenticación local , el usuario necesita acceder a los archivos en ${JBOSS_HOME}/domain/tmp/auth
Si se utiliza la autenticación remota , el usuario necesita acceder a los archivos en ${JBOSS_HOME}/standalone/tmp/auth
La forma más fácil de lograr esto es ejecutar el servidor de aplicaciones como usuario jboss y asegurarse de que ${JBOSS_HOME} sea propiedad de este usuario:
sudo chown -R jboss:jboss ${JBOSS_HOME}sudo chmod -R'g=u'${JBOSS_HOME}sudo find ${JBOSS_HOME} -type d -exec sudo chmod g+s {} \;