Ansible : 基本操作2023/08/01 |
Ansible の基本的な利用方法です。書式は以下のようになります。 ⇒ ansible [対象サーバー] [オプション] -m [モジュール] -a [モジュールの引数]
※ モジュールは非常に多数のものが公開されており、個々の機能は公式ドキュメントで参照可能です。
Ansible は管理対象クライアントへ SSH アクセスするため、認証が必要になります。 |
|
[1] | 管理対象クライアントに対して root ログイン許可 (PermitRootLogin が no 以外) + 鍵ペア認証 (キーパスフレーズ無し) の場合は、以下のようなコマンド指定で利用できます。 パスフレーズ付き鍵ペアの場合は SSH-Agent を起動しておけば、同様のコマンド指定で利用可能です。 |
# [10.0.0.50] に対して ping モジュールを実行 root@dlp:~# ansible 10.0.0.50 -m ping 10.0.0.50 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" } |
[2] |
対象ホストで [sudo] 実行が許可されている任意の一般ユーザーで接続する場合は以下のように実行します。
例として、[debian] ユーザーで実行します。
root ユーザー以外の権限を利用したい場合は [--become-user=xxx] で明示的に指定します。[-b (--become)] オプションで権限昇格し、[--ask-become-pass] でパスワードを入力します。 * [sudo] で [NOPASSWD] 設定している場合は [--ask-become-pass] 不要 [sudo] 以外の昇格方法 [sudo | su | pbrun | pfexec | runas] を利用したい場合は [--become-method=xxx] で明示的に指定します。 また、[-k] オプションは、SSH 鍵ペアではなく、パスワード認証でログインする場合に必要なオプションです。 [-k] オプションでパスワード認証する場合は、事前に [sshpass] をインストールしておく必要があります。 |
# [target_servers] に対して [/etc/shadow] を表示 debian@dlp:~$ ansible target_servers -k -m command -a "cat /etc/shadow" -b --ask-become-pass
SSH password:
BECOME password[defaults to SSH password]: 通常 SSH パスワードと同じのため 空 Enter で OK
10.0.0.52 | CHANGED | rc=0 >>
daemon:*:19103:0:99999:7:::
bin:*:19103:0:99999:7:::
sys:*:19103:0:99999:7:::
.....
.....
10.0.0.51 | CHANGED | rc=0 >>
daemon:*:19103:0:99999:7:::
bin:*:19103:0:99999:7:::
sys:*:19103:0:99999:7:::
.....
.....
|
Sponsored Link |