リポジトリメタデータ

リポジトリメタデータを署名できるようにするにはカスタムGPGキーが必要です。

サーバコンテナ内のシェルにアクセスするには、コンテナホストで`mgrctl term`を実行します。

プロシージャ:カスタムGPGキーの生成
  1. ルートユーザとして、`gpg`コマンドを使用して新しいキーを生成します。

    mgrctl exec -it -- gpg --full-generate-key
  2. プロンプトが表示されたら、キータイプとして`RSA`を選択し、サイズを2048ビットに設定し、キーの適切な有効期限を選択します。 新しいキーの詳細を確認して、`y`と入力して確定します。

  3. プロンプトが表示されたら、キーに関連付けられた名前と電子メールアドレスを入力します。 必要に応じて、キーを識別するためのコメントを追加することもできます。 ユーザーIDに問題がなければ、`O`と入力して確定します。

  4. プロンプトが表示されたら、キーを保護するパスフレーズを入力します。

  5. キーは自動的にキーリングに追加されます。 キーリングにキーを一覧表示して確認できます。

    mgrctl exec -- gpg --list-keys
  6. キーリングのパスワードを`/etc/rhn/signing.conf`設定ファイルに追加するには、テキストエディタでファイルを開き、次の行を追加します。

    GPGPASS="password"

GPGキーの更新については、同期のトラブルシューティングを参照してください。

`mgr-sign-metadata-ctl`コマンドを使用して、コマンドラインでメタデータ署名を管理できます。

プロシージャ:メタデータ署名の有効化
  1. 使用するキーの短い識別子を知っている必要があります。 使用可能な公開鍵を短い形式で一覧表示できます。

    mgrctl exec -- gpg --keyid-format short --list-keys
    ...
    pub   rsa4096/3E7BFE0A 2019-04-02 [SC] [expires: 2029-04-01]
          A43F9EC645ED838ED3014B035CFA51BF3E7BFE0A
    uid         [ultimate] SUSE Manager
    sub   rsa4096/118DE7FF 2019-04-02 [E] [expires: 2029-04-01]
  2. `mgr-sign-metadata-ctl`コマンドを使用してメタデータ署名を有効にします。

    mgrctl exec -- mgr-sign-metadata-ctl enable 3E7BFE0A
    OK. Found key 3E7BFE0A in keyring.
    DONE. Set key 3E7BFE0A in /etc/rhn/signing.conf.
    DONE. Enabled metadata signing in /etc/rhn/rhn.conf.
    DONE. Exported key 3E7BFE0A to /srv/susemanager/salt/gpg/mgr-keyring.gpg.
    DONE. Exported key 3E7BFE0A to /var/spacewalk/gpg/<KEY_NAME>.key.
    NOTE. For the changes to become effective run:
       mgr-sign-metadata-ctl regen-metadata
  3. このコマンドを使用して設定が正しいことを確認できます。

    mgrctl exec -- mgr-sign-metadata-ctl check-config
  4. 設定の変更後、{productname}サービスを再起動します。

    mgradm restart
  5. すべてのメタデータを新しい署名済みバージョンに置き換えるために、メタデータ再生成をスケジュールします。

    mgrctl exec -- mgr-sign-metadata-ctl regen-metadata

`mgr-sign-metadata-ctl`コマンドを使用して他のタスクを実行することもできます。 完全なリストを表示するには、`mgr-sign-metadata-ctl --help`を使用します。

リポジトリメタデータ署名はグローバルオプションです。 有効にされると、サーバー上のすべてのソフトウェアチャネルで有効になります。 これは、サーバーに接続されているすべてのクライアントが、新しいGPGキーを信頼する必要があることを意味します。そうしないと、パッケージをインストールまたは更新できません。

プロシージャ:クライアントへのGPGキーのインポート
  1. GPGキーをクライアントに配備すると、salt状態で動作します。

  2. SUSE Multi-Linux Manager Web UIを使用してハイステートを適用します。

GPGキーのトラブルシューティングに関する詳細については、同期のトラブルシューティングを参照してください。