ansibleでsshパスワードを設定するときの話
概要
ansibleでリモート先のマシンをプロビジョニングする際に、ansibleはSSHで接続するため公開鍵認証やパスワード認証を行う必要がある。
当記事はパスワード認証で接続するためにどのような設定を行えばよいか解説を行う。
解説
ansibleでsshのパスワード認証を行うには3通りの方法がある。(3つめは追記部分に記載)
- ansible実行時にパスワードの入力を求めるようにする。
- インベントリファイルにパスワードを設定しておき、ansible実行時に設定済みのパスワードを読み込むようにする。
ansible実行時にパスワードの入力を求めるようにする。
/etc/ansible/ansible.cfgを以下の通り修正する。
# 修正前 # ask_pass = True # 修正後 ask_pass = True
なお、SSH時のリモートログインユーザーなども/etc/ansible/ansible.cfgに設定することができる。
詳しくは公式ドキュメントよんで!
http://docs.ansible.com/ansible/intro_configuration.html
インベントリファイルにパスワードを設定しておき、ansible実行時に設定済みのパスワードを読み込むようにする。
インベントリファイルに下記サイトのようにパスワードを設定する。
ただインベントリファイルをgitなどでバージョン管理している場合、
さすがにパスワードが書かれたファイルをコミットしちゃうのはアレなきがするのでその辺の運用はどうやってんのか気になる。。
2016/6/22 追記
3つ目のパスワードの指定の方法があったので記載しておく。
ansible-playbookコマンドでplaybookを実行する際に--ask-passオプション(または-kオプション)を追加する。
ansible-playbook --ask-pass
上でansible.cfgを修正していなくてもansible実行時にパスワードの入力をプロンプトで求めるようになる。