Ansibleでパスワードログインしたりsuやsudoで管理者になる方法一覧

はじめに

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’

のオプションが必要になることがある。

コメント

タイトルとURLをコピーしました