1.2. 認証

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

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

自動でコマンドを実行する場合は、hammer 設定ファイルを使用することが推奨されます。たとえば、cron ジョブから Satellite メンテナンスコマンドを実行する場合です。コマンドを手動で実行する場合は、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