Vagrantの仮想マシン上でDBサーバを構築するスクリプトを作成している。
いざ実行すると以下のエラーが出た。
{"failed": true, "msg": "ERROR! Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."}
sshで接続しようとしたときに、finger print(証明データ)が登録されていないことが原因だった。
vagrantの仮想マシンにvagrant sshで入り、ssh XXX.XXX.XXX.XXX を実行すればよいが、 仮想マシンを作り直すたびにやらないといけないのは非常に面倒だ。
色々と調べた結果、プロジェクトのansible/ansible.configに、以下の記載をすれば、上の問題を解決できることがわかった。
[defaults] host_key_checking = false
セキュリティ的にはよろしくないけど、チェックすると、サーバが変わったりすると落ちる。
エラー内容を見てもどうしたらよいかわからないやつなので、 複数人でプロジェクトに携わっているなら共通の認識としてお話してたほうがよい。