1.2. 認証

hammer コマンドを使用する場合は Red Hat Satellite に ID を証明する必要があります。hammer コマンドは手動または自動で実行できます。いずれの場合も、認証には Satellite 認証情報が必要です。hammer 認証には 3 つの方法があります。

  • Hammer 認証セッション
  • hammer 設定ファイルに認証情報を保存
  • hammer コマンドを使用するたびに認証情報を指定

自動でコマンドを実行する場合は、hammer 設定ファイルを使用することが推奨されます。たとえば、cron ジョブから Satellite メンテナンスコマンドを実行する場合です。コマンドを手動で実行する場合は、Red Hat は、hammer 認証セッションを使用して、コマンドを実行するたびに認証情報を提供する方法を推奨します。

1.2.1. Hammer 認証セッション

Hammer 認証セッションでは、認証情報をキャッシュで保存するので、セッションの最初に一度だけ認証情報を入力する必要があります。この手法は、複数の Hammer コマンドを含むスクリプトなど、複数の Hammer コマンドを順次実行する場合に適して言います。このようなシナリオでは Satellite の認証情報を一度入力すると、スクリプトは想定通りに実行されます。Hammer の認証セッションを使用する場合は、スクリプト自体に認証情報を保存せず、~/.hammer/cli.modules.d/foreman.yml の hammer 設定ファイルに保存します。

セッションの使用方法は以下のようになります。

  • セッションを有効にするには、:use_sessions: true~/.hammer/cli.modules.d/foreman.yml ファイルに追加します。

    :foreman:
     :use_sessions: true

    セッションを有効にすると、設定ファイルに保存している認証情報は無視されます。

  • セッションを開始するには、以下のコマンドを入力します。

    # hammer auth login

    Satellite 認証情報が求められ、ログインします。その認証情報は、セッションの有効期限が切れるまで持続するため、再要求はされません。

  • セッションのデフォルトの長さは 60 分ですが、自由に変更できます。ニーズに合わせて時間を変更できます。たとえば、これを 30 分に変更するには、以下のコマンドを入力します。

    # hammer settings set --name idle_timeout --value 30
    Setting [idle_timeout] updated to [30]
  • セッションの現在のステータスを表示するには、以下のコマンドを実行します。

    # hammer auth status
  • セッションを終了するには、以下のコマンドを入力します。

    # hammer auth logout

1.2.2. Hammer 設定ファイル

--foreman-initial-admin-username および --foreman-initial-admin-password オプションを使用して Satellite のインストールを実行すると、入力した認証情報が ~/.hammer/cli.modules.d/foreman.yml に保存され、hammer により認証情報の入力が求められます。

認証情報は、手動で ~/.hammer/cli.modules.d/foreman.yml 設定ファイルに追加することもできます。

:foreman:
 :username: 'username'
 :password: 'password'
重要

hammer 設定ファイルのインデントには、スペースのみを使用するようにしてください。タブは使用しないでください。

1.2.3. コマンドライン

Satellite 認証情報を ~/.hammer/cli.modules.d/foreman.yml 設定ファイルに保存しないと、コマンドを入力するたびに hammer によって認証情報が求められます。以下のように、コマンドの実行時に認証情報を指定できます。

$ hammer -u username -p password subcommands
注記

本ガイドの例は、設定ファイルの認証情報が保存されているか、hammer 認証セッションを使用していることを前提としています。