20.4. 管理対象ノードに接続するジャンプホストを使用するように Automation Controller を設定する
Automation Controller が提供する認証情報は、ProxyCommand によってジャンプホストに送信されることはありません。認証情報は、トンネル接続がセットアップされている場合に、エンドノードにのみ使用されます。
SSH 設定ファイルで固定のユーザー/キーファイルを設定する
ジャンプホスト経由で接続を設定する ProxyCommand 定義の SSH 設定ファイルで、固定のユーザー/キーファイルを設定できます。
前提条件
- 管理対象ノードへの SSH 接続を確立するノード (Hybrid Controller や実行ノードなど) からすべてのジャンプホストに到達できるかどうかを確認する。
手順
-
各ノードに、次の詳細を含む SSH 設定ファイル
/var/lib/awx .ssh/config
を作成します。
Host jumphost.example.com Hostname jumphost.example.com User <jumphostuser> Port <jumphostport> IdentityFile ~.ssh/id_rsa StrictHostKeyChecking no ProxyCommand ssh -W %h:%p jumphost.example.com
Host jumphost.example.com
Hostname jumphost.example.com
User <jumphostuser>
Port <jumphostport>
IdentityFile ~.ssh/id_rsa
StrictHostKeyChecking no
ProxyCommand ssh -W %h:%p jumphost.example.com
- このコードは、ジャンプホスト '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! -
Host 192.0.*
行は、該当するサブネット内のすべてのホストがそのブロックで定義された設定を使用することを指定します。具体的には、該当するサブネット内のすべてのホストは、ProxyCommand
設定を使用してアクセスされ、jumphost.example.com
を介して接続されます。 すべてのホストが指定のプロキシーを介して接続することを示すために
Host *
を使用する場合は、必ずjumphost.example.com
をそのマッチングの対象から除外してください。次に例を示します。Host * !jumphost.example.com ...
Host * !jumphost.example.com ...
Copy to Clipboard Copied!
Red Hat Ansible Automation Platform UI の使用
手順
-
ナビゲーションパネルで、
を選択します。 -
Paths to expose isolated jobs に
/var/lib/awx .ssh:/home/runner/.ssh:0
を追加します。 をクリックし、 - をクリックして変更を保存します。
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>"'