かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleで新規ホストへのssh接続時にyes/noを確認しないようにする

概要

Ansibleではターゲットへssh接続をしています。
ですので、sshのデフォルトの動きとして新規ホストへの接続時は以下のように「接続するかい?いいかい?」と聞かれます。

Are you sure you want to continue connecting (yes/no)?

ですので今回はそれを回避してみたいと思います。

設定方法

ansible.cfgに以下のように設定します。

ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no

重要なのはStrictHostKeyChecking=noの箇所です。
これを設定すると、新規ホスト(~/.ssh/known_hostsに記載のないホスト)に接続する際に確認をしないようにしてくれます。

おわりに

セキュリティ的には「接続するかい?」と聞かれるほうが正しいのですが、大量のホストが作成/削除を繰り返すようなImmutableなインフラを構築していたり、Ansibleの実行を自動化して裏で動かしていたりすると、そこで処理が止まったりしてしまいます。

そういうときはこの設定をいれることを検討してもよいかもしれません。

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス