はじめに
ansibleで設定するマシンにログインする際、
- いきなりrootでSSHログインする
- 一般ユーザーでログインする
という場合もあれば、
- 公開鍵認証
- パスワード認証
というケースも考えられるし、
- sudoで管理者になる
- suする
など、いろいろなログイン方法が考えられる。
各方法でログインする方法を一覧にした。
公開鍵認証でSSHする場合
.ssh/configにユーザー名、ポートは設定されているものとする。
rootでログイン
これはかんたんで、
ansible-playbook playbook.yml
これで動く。
root以外でログインし、su/sudoでrootになる、
まず、playbookに
- become: true
- become_method: suもしくはsudo
を書いておく必要がある(hostsと同じ階層)。
そして以下で実行。
ansible-playbook playbook.yml --ask-become-pass
これで実行時にsu/sudoパスワードが聞かれる。
パスワードでSSH認証する場合
.ssh/configは設定していないものとする。
rootでログイン
ansible-playbook playbook.yml-u root -k
これで動く。実行時にsshログインのパスワードが聞かれる。
root以外でログインし、su/sudoでrootになる、
上と同じくまず、playbookに
- become: true
- become_method: suもしくはsudo
を書いておく必要がある。そして、
ansible-playbook playbook.yml -u ユーザー名 --ask-become-pass -k
で実行する。
余談
python2の入っていない、Debian10の最小インストール構成などでは、
-e ‘ansible_python_interpreter=/usr/bin/python3’
のオプションが必要になることがある。
コメント