Install the Universal Orchestrator on a Linux Server

To install the Keyfactor Universal OrchestratorClosed The Keyfactor Universal Orchestrator, one of Keyfactor's suite of orchestrators, is used to interact with servers and devices for certificate management, run SSL discovery and management tasks, and manage synchronization of certificate authorities in remote forests. With the addition of custom extensions, it can provide certificate management capabilities on a variety of platforms and devices (for example Amazon Web Services (AWS) resources, Citrix\NetScaler devices, F5 devices, IIS stores, JKS keystores, PEM stores, and PKCS #12 stores) and execute tasks outside the standard list of certificate management functions. It runs on either Windows or Linux servers or Linux containers. on a Linux server, copy the zip file containing installation files to a temporary working directory on the Linux server and unzip it.

To begin the installation:

  1. On the Linux machine on which you wish to install the orchestratorClosed Keyfactor orchestrators perform a variety of functions, including managing certificate stores and SSH key stores., in a command shell change to InstallationScripts subdirectory under the temporary directory where you placed the installation files.
  2. Use the chmod command to make the install.sh script file executable. The file ships in a non-executable state to avoid accidental execution. For example:

    sudo chmod +x install.sh
  3. In the command shell, run the install.sh script as root using the following parameters to begin the installation:

    Installation Examples

    Installation example with expected output using Basic authentication and an auto-registration pool. The password for the svc_kyforch service account is saved in password_file in the current directory and should be removed after installation.

    Copy
    vi password_file


    sudo ./install.sh \
        --url https://keyfactor.keyexample.com/KeyfactorAgents \
        --username svc_kyforch@keyexample.com \
        --secret-file-path password_file \
        --orchestrator-name appsrvr16-ssl.keyexample.com \
        --auto-registration-pool-id aac79ea0-2a57-4ae1-afcb-2c3159b37acf \
        --capabilities all \
        --force


    *******************************************************************
    *         Checking for required environment dependencies.         *
    *******************************************************************
    .NET Core Runtime version 10.0.0 or later was found.
    jq was found on the PATH.
    curl was found on the PATH.
    Source path /tmp/KeyfactorUniversalOrchestrator does contain the Keyfactor Orchestrator

    ***********************************************************
    *         Validating orchestrator configurations.         *
    ***********************************************************
    Validating the authentication parameters.
    Validating the capabilities configurations.
    Validating the installation directory configurations.
    Validating the service configurations.

    *************************************************************
    *         Validating authentication configurations.         *
    *************************************************************

    ***********************************************************
    *         Validating installation configurations.         *
    ***********************************************************

    *****************************************************
    *         Configuring orchestrator service.         *
    *****************************************************
    Copying files from /tmp/KeyfactorUniversalOrchestrator to /opt/keyfactor/orchestrator
    Setting file permissions and saving app settings
    Installing systemd service keyfactor-orchestrator-default
    Created symlink /etc/systemd/system/multi-user.target.wants/keyfactor-orchestrator-default.service → /etc/systemd/system/keyfactor-orchestrator-default.service.
    Starting systemd service keyfactor-orchestrator-default
    Tip:  Use the -v switch to display additional diagnostic information, which can help when troubleshooting errors. ClosedShow example command with verbose output.

    Installation example with expected output using token authentication, --secret-std-in for the client secret, and custom destination and service names.

    Copy
    echo "WcHlahyku6wmD0a6rjOXClrkz0Jw9sGh" |sudo ./install.sh \
       --url https://command.keyexample.com/KeyfactorAgents \
       --bearer-token-url https://appsrvr18.keyexample.com:1443/realms/Keyfactor/protocol/openid-connect/token \
       --client-id Universal-Orchestrator \
       --orchestrator-name appsrvr16-ssl2.keyexample.com \
       --destination /opt/keyfactor/uo-2 \
       --service-suffix uo2 \   
       --capabilities all \
       --force


    *******************************************************************
    *         Checking for required environment dependencies.         *
    *******************************************************************
    .NET Core Runtime version 10.0.0 or later was found.
    jq was found on the PATH.
    curl was found on the PATH.
    Source path /tmp/KeyfactorUniversalOrchestrator does contain the Keyfactor Orchestrator

    ***********************************************************
    *         Validating orchestrator configurations.         *
    ***********************************************************
    Validating the authentication parameters.
    Validating the capabilities configurations.
    Validating the installation directory configurations.
    Validating the service configurations.

    *************************************************************
    *         Validating authentication configurations.         *
    *************************************************************
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  1567  100  1458  100   109  43024   3216 --:--:-- --:--:-- --:--:-- 47484

    ***********************************************************
    *         Validating installation configurations.         *
    ***********************************************************

    *****************************************************
    *         Configuring orchestrator service.         *
    *****************************************************
    Copying files from /tmp/KeyfactorUniversalOrchestrator to /opt/keyfactor/uo-2
    Setting file permissions and saving app settings
    Installing systemd service keyfactor-orchestrator-2
    Created symlink /etc/systemd/system/multi-user.target.wants/keyfactor-orchestrator-2.service → /etc/systemd/system/keyfactor-orchestrator-2.service.
    Starting systemd service keyfactor-orchestrator-2

    Installation example with expected output using client certificate authentication. The password for the client certificate is saved in cert_password_file in the current directory.

    Copy
    vi cert_password_file


    sudo ./install.sh \
      --url https://command.keyexample.com/KeyfactorAgents \ 
      --client-auth-certificate /opt/certs/kyforch.p12 \
      --secret-file-path cert_password_file \
      --orchestrator-name appsrvr16-ssl.keyexample.com \
      --capabilities all \
      --force


    *******************************************************************
    *         Checking for required environment dependencies.         *
    *******************************************************************
    .NET Core Runtime version 10.0.0 or later was found.
    jq was found on the PATH.
    curl was found on the PATH.
    Source path /tmp/KeyfactorUniversalOrchestrator does contain the Keyfactor Orchestrator

    ***********************************************************
    *         Validating orchestrator configurations.         *
    ***********************************************************
    Validating the authentication parameters.
    Validating the capabilities configurations.
    Validating the installation directory configurations.
    Validating the service configurations.

    *************************************************************
    *         Validating authentication configurations.         *
    *************************************************************

    ***********************************************************
    *         Validating installation configurations.         *
    ***********************************************************

    *****************************************************
    *         Configuring orchestrator service.         *
    *****************************************************
    Copying files from /tmp/KeyfactorUniversalOrchestrator to /opt/keyfactor/orchestrator
    Setting file permissions and saving app settings
    Installing systemd service keyfactor-orchestrator-default
    Created symlink /etc/systemd/system/multi-user.target.wants/keyfactor-orchestrator-default.service → /etc/systemd/system/keyfactor-orchestrator-default.service.
    Starting systemd service keyfactor-orchestrator-default
  4. Review the output from the installation to confirm that no errors have occurred.

The script creates a directory, /opt/keyfactor/orchestrator by default, and places the orchestrator files in this directory. Log files are found in /opt/keyfactor/orchestrator/logs by default, though this is configurable (see Configure Logging for the Universal Orchestrator).

The orchestrator service, by default named keyfactor-orchestrator-default.service, should be automatically started at the conclusion of the install and configured to restart on reboot unless you have selected the no-service parameter.

Tip:  Once the installation of the orchestrator is complete, use the Keyfactor Command Management Portal to approve the orchestrator and configure certificate stores or SSL jobs: