Ansibleでホストキーチェックをバイパスできますか?


19

私は、任意のポート転送ポートで動作するように微妙なハックでAnsibleプレイブックを実行しています(したがって、多くのマシンに直接アクセスせずに1台のマシンを使用できます)。

ansible_port変数を変更するための事前タスクがあるので、実際のタスクとロールの実行を開始すると、ランダムポート上のローカルホストのホストキーを受け入れるように求められます。

私は単純であり、セキュリティを気にしないので、sshが自動受け入れてリダイレクト/dev/null(またはロギング用の別のファイル)したいです。

これは可能ですか?


ansible configに渡すsshオプションを使用して実行できます。
ジリクルーダ

回答:


26

これは通常、次の値を設定することで行われますansible.cfg

[defaults]
host_key_checking = False

変更したくない場合は、次のansible.cfgように環境変数を設定できます。

export ANSIBLE_HOST_KEY_CHECKING=False

ソース:http : //docs.ansible.com/ansible/intro_getting_started.html#host-key-checking


MacOSを使用してhost_key_checking = Falseを設定していますが、まだ「警告:DNSスプーフィングが検出されました!」というメッセージが表示されます。以前に同じ名前のターゲットホストに接続してから再構築し、。/ ssh / known_hostsに古いキーがあったことに気付いた後、これを修正しました。
チャドジュリアーノ

21

ansible.cfgファイルに次の行を追加する必要があります。

ssh_args = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

これらのオプションは、~/.ssh/config実行するすべてのマシンで次のように追加することもできます。

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

1
これは動作するはずです。また、詳細な設定については、ansible.cfgファイルを参照してください :)
Dawny33

Paramikoを使用する場合はansible.cfgを使用する必要があるため、Dawnyの追加に対して+1
ウッドランドハンター

1
それをプレイブック内に設定する適切な方法はありますか?私が試したansible_ssh_common_argsansible_ssh_extra_args、それは私がansible.cfgに持っているものより優先されることはありません。私は他のすべてに使用するansible.cfgを持っているので、この変更を行うためだけにコピーするのではなく、このタイプのプレイブックのパラメーターをオーバーライドするだけです。
ピーターターナー

3
Peterさん、これらの変数とは話せませんが、このプレイブックのディレクトリに修正されたansible.cfgを置くことができ、それが優先されます。
ウッドランドハンター

1
UserKnownHostsFile = / dev / nullがsshセキュリティを完全に破る
mmv-ru
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.