20.4. 管理対象ノードに接続するジャンプホストを使用するように Automation Controller を設定する
ジャンプホスト (踏み台ホストとも呼ばれる) は、管理対象ノードへの接続がルーティングされる中間サーバーです。
このセットアップにより、管理対象ノードが Automation Controller サーバーからの直接アクセスから分離され、セキュリティーが強化されます。管理対象ノードに接続するときにジャンプホストを使用するように Automation Controller を設定するには、Ansible で使用される SSH 設定を変更する必要があります。これには、ジャンプホストの詳細を指定するために SSH 設定ファイルを編集することが含まれます。
Automation Controller が提供する認証情報は、ProxyCommand によってジャンプホストに送信されることはありません。認証情報は、トンネル接続がセットアップされている場合に、エンドノードにのみ使用されます。
20.4.1. SSH 設定ファイルで固定のユーザーまたはキーファイルを設定する リンクのコピーリンクがクリップボードにコピーされました!
ジャンプホスト経由で接続を設定する ProxyCommand 定義の SSH 設定ファイルで、固定のユーザーまたはキーファイルを設定できます。
前提条件
- 管理対象ノードへの SSH 接続を確立するノード (Hybrid Controller や実行ノードなど) からすべてのジャンプホストに到達できるかどうかを確認する。
手順
各ノードに、次の詳細を含む SSH 設定ファイル
/var/lib/awx .ssh/configを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このコードは、ジャンプホスト 'jumphost.example.com' に接続するために必要な設定を指定します。
- Automation Controller は各ノードから管理対象ノードへの SSH 接続を確立します。
-
例の値
jumphost.example.com、jumphostuser、jumphostport、~/.ssh/id_rsaは、環境に応じて変更する必要があります。 ノード上にすでに作成されている SSH 設定ファイル
/var/lib/awx/.ssh/config`にホストマッチングブロックを追加します。次に例を示します。Host 192.0.* ...
Host 192.0.* ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Host 192.0.*行は、該当するサブネット内のすべてのホストがそのブロックで定義された設定を使用することを指定します。具体的には、該当するサブネット内のすべてのホストは、ProxyCommand設定を使用してアクセスされ、jumphost.example.comを介して接続されます。 すべてのホストが指定のプロキシーを介して接続することを示すために
Host *を使用する場合は、必ずjumphost.example.comをそのマッチングの対象から除外してください。次に例を示します。Host * !jumphost.example.com ...Host * !jumphost.example.com ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ansible Automation Platform UI の使用
-
-
ナビゲーションパネルで、
を選択します。 -
をクリックし、Paths to expose isolated jobs に
/var/lib/awx .ssh:/home/runner/.ssh:0を追加します。 - をクリックして変更を保存します。
20.4.2. Ansible インベントリー変数を使用したジャンプホストの設定 リンクのコピーリンクがクリップボードにコピーされました!
インベントリー変数を使用して、Automation Controller インスタンスにジャンプホストを追加できます。
これらの変数は、インベントリー、グループ、またはホストレベルのいずれかで設定できます。インベントリーを使用して Automation Controller 内のジャンプホストの使用を制御する場合は、この方法を使用します。
手順
インベントリーに移動し、選択したレベルの
variablesフィールドに次の変数を追加します。ansible_user: <user_name> ansible_connection: ssh ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q <user_name>@<jump_server_name>"'
ansible_user: <user_name> ansible_connection: ssh ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q <user_name>@<jump_server_name>"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow