Ansibleを用いて、チームで共通の開発環境を作れるようにしています。2015に開発環境を構築していた際、Ansibleがうまく実行できないトラブルにハマりました。同じBox及びプロビジョニングを使って旧環境では問題なく構築できたのに、新環境ではできないことに頭を悩ませましたが、2時間ほど試行錯誤した結果、解決できたので、その事象と原因、対処法をメモしておきます。環境は以下の通りです。AnsibleすべてをHomebrewでインストールしています。結果からいうとVirtualBoxやAnsibleは直接関係ありませんでしたが、一応、バージョン情報を示しておきます。deniedとなってしまう問題まずは事象を振り返ります。ansible-playbookコマンドでプロビジョンしようとした際、次の様なエラーが表示され、それ以上、先に進めることができませんでした。hosts/vagrantには、以下の様な内容を記述していました。Hashimoto氏のツイートに、その答えがありました。upする際に作られれるkeypairに置き換えられる仕様になったそうで、それに影響を受けていました。falseを指定することで、keypairの差し替えを停止することができます。upする際に作られれるkeypairを指定することで接続できるようになります。新しい機能が追加になったわけなので、私はこちらの方法を選択しました。.vagrantディレクトリが作られるタイミングです。設定しなければ、プロジェクトごとに違うキーペアが作られるようになるということですね。~/.vagrant.d/insecure_private_keyのキーペアを使うことはなかったでしょうが、この仕様変更と同時にHeroku等へのデプロイ機能がついたりしたので、これによってVagrantが作るキーペアを手軽にセキュアに使えるようになるってところでしょうか。原因究明までの経緯エラーメッセージを頼りにやってみたこと等。エラーメッセージにあったとおり、デバッグ情報を出力してみる。鍵認証に失敗している模様。vagrant@192.168.33.10ではパスワード認証になってしまう。~/.vagrant.d/insecure_private_keyで鍵を指定しても同様。原因究明には至らなかったが、ここで糸口をつかむ。ssh-configというコマンドを知る。sshでは利用している鍵が違うことがわかった。くは以下を参照してください。