11.6. 安装、配置和运行所有者服务器

安装 fdo-owner-clifdo-owner-onboarding-server RPM 软件包,以使系统能够在第一个设备引导时接收制造服务器生成的凭证。然后 Rendezvous 服务器将设备 UUID 与目标平台或云进行匹配,并告知该设备必须使用哪个所有者服务器端点的设备。

先决条件

  • 部署服务器的设备有一个受信任的平台模块(TPM)设备来加密磁盘。如果没有,在引导 RHEL for Edge 设备时会出现一个错误。
  • 您使用密钥和证书创建了 device_ca_cert.pemowner_key.derowner_cert.pem,并将它们复制到 /etc/fdo/keys 目录中。

流程

  1. 在这个服务器中安装所需的 RPM:

    # dnf install -y fdo-owner-cli fdo-owner-onboarding-server
  2. 准备 owner-onboarding-server.yml 配置文件,并将其保存到 /etc/fdo/ 目录中。包括您已复制的证书的路径,以及有关此文件中发布所有者服务器服务的信息。

    以下是 /usr/share/doc/fdo/owner-onboarding-server.yml 中的一个示例。您可以查找对服务信息 API 的引用,如 URL 或身份验证令牌。

    ---
    ownership_voucher_store_driver:
      Directory:
        path: /etc/fdo/stores/owner_vouchers
    session_store_driver:
      Directory:
        path: /etc/fdo/stores/owner_onboarding_sessions
    trusted_device_keys_path: /etc/fdo/keys/device_ca_cert.pem
    owner_private_key_path: /etc/fdo/keys/owner_key.der
    owner_public_key_path: /etc/fdo/keys/owner_cert.pem
    bind: "0.0.0.0:8081"
    service_info_api_url: "http://localhost:8083/device_info"
    service_info_api_authentication:
      BearerToken:
        token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo=
    owner_addresses:
      - transport: http
        addresses:
          - ip_address: 192.168.122.149
  3. 创建和配置服务信息 API。

    1. 为加入添加自动信息,如要用户创建、要复制或创建的文件、要执行的命令、要加密的磁盘等。使用 /usr/share/doc/fdo/serviceinfo-api-server.yml 中的服务信息 API 配置文件示例作为模板,来在 /etc/fdo/ 下创建配置文件。

      ---
      service_info:
        initial_user:
          username: admin
          sshkeys:
          - "ssh-rsa AAAA...."
        files:
        - path: /root/resolv.conf
          source_path: /etc/resolv.conf
        commands:
        - command: touch
          args:
          - /root/test
          return_stdout: true
          return_stderr: true
        diskencryption_clevis:
        - disk_label: /dev/vda4
          binding:
            pin: tpm2
            config: "{}"
          reencrypt: true
        additional_serviceinfo: ~
      bind: "0.0.0.0:8083"
      device_specific_store_driver:
        Directory:
          path: /etc/fdo/stores/serviceinfo_api_devices
      service_info_auth_token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo=
      admin_auth_token: zJNoErq7aa0RusJ1w0tkTjdITdMCWYkndzVv7F0V42Q=
  4. 检查 systemd 单元的状态:

    # systemctl list-unit-files | grep fdo
    fdo-owner-onboarding-server.service        disabled        disabled
    fdo-serviceinfo-api-server.service         disabled        disabled
    1. 如果停止并禁用该服务,请启用并启动它:

      # systemctl enable --now fdo-owner-onboarding-server.service
      # systemctl enable --now fdo-serviceinfo-api-server.service
      注意

      每次更改配置文件时,都必须重启 systemd 服务。

  5. 检查服务器是否在侦听默认配置的端口 8083 :

    # ss -ltn
  6. 如果在这个服务器上配置了防火墙,请打开端口:

    # firewall-cmd --add-port=8081/tcp --permanent
    # firewall-cmd --add-port=8083/tcp --permanent
    # systemctl restart firewalld