[解決済み】ansibleのSSH認証チェックを無視する方法は?
質問
Ansibleが行うSSHの認証チェックを無視する方法はありますか?例えば、新しいサーバーをセットアップしたばかりの時、この質問に「はい」と答えなければなりません。
GATHERING FACTS ***************************************************************
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:yy:zz:....
Are you sure you want to continue connecting (yes/no)?
これは一般的に悪い考えであることは分かっていますが、私はまずクラウドプロバイダーで新しい仮想サーバーを作成し、それを設定するために自動的にansible playbookを呼び出すスクリプトにこれを組み込んでいます。スクリプト実行の途中で人間が介入するのを避けたいのです。
どのように解決するのですか?
2つの選択肢があります。1つ目は、ご自身の回答にもあるように、環境変数を設定することです。
ANSIBLE_HOST_KEY_CHECKING
を False に設定します。
2つ目の設定方法は、ansible.cfgファイルに記述することです。これは本当に便利なオプションで、グローバルに設定することもできますし(システムレベルまたはユーザーレベルで
/etc/ansible/ansible.cfg
または
~/.ansible.cfg
)、または実行中のplaybookと同じディレクトリにある設定ファイルに記述します。
そのためには
ansible.cfg
ファイルを作成し、これをインクルードしてください。
[defaults]
host_key_checking = False
他にも、再生開始時にファクトを収集するかどうか、複数の場所で宣言されたハッシュをマージするか、別のものに置き換えるかなど、便利なデフォルトをたくさん設定することが可能です。オプションはたくさんあります。 ここで Ansibleのドキュメントにあります。
編集部:セキュリティに関するメモです。
SSHホスト鍵の検証は、セキュリティ層として意味のある 永続的なホスト - 同じマシンに何度も接続する場合、ホストキーをローカルに受け入れることは価値があります。
長寿命のEC2インスタンスでは、タスク実行でホストキーを受け入れるのが理にかなっています。 一度だけ インスタンスの初期作成時に
- name: Write the new ec2 instance host key to known hosts
connection: local
shell: "ssh-keyscan -H {{ inventory_hostname }} >> ~/.ssh/known_hosts"
動的に立ち上げ、プレイブックを実行した直後に削除するインスタンスのホストキーをチェックすることにセキュリティ上の価値はありませんが、永続的なマシンのホストキーをチェックすることにはセキュリティ上の価値があります。そのため、論理環境ごとに異なるホスト鍵のチェックを管理する必要があります。
-
チェックはデフォルトで有効のまま (
~/.ansible.cfg
) -
エフェメラルなインスタンスに対して実行するプレイブックは、作業ディレクトリでのホスト鍵チェックを無効にする (
./ansible.cfg
vagrant VM に対するユニットテスト用のプレイブックと並んで、短命の ec2 インスタンスに対する自動化)
関連
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] ssh "パーミッションが開きすぎています "エラー
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] SSH公開鍵にアクセスするにはどうすればよいですか?
-
[解決済み】SSHリモートコマンドを手動で実行すると、なぜ環境変数が少なくなるのか?[クローズド]
-
[解決済み】SublimeをSSHで使用する方法
-
[解決済み】ansibleのSSH認証チェックを無視する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SSHでサーバからローカルコンピュータにファイルをコピーする【終了しました
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] known_hostsには実際に何が入っているのですか?[クローズド]
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] PPKファイルからPEMを作成する [重複]。
-
[解決済み] ファイアウォール内のサーバーにSSH接続する
-
[解決済み】~/.ssh/authorized_keysに公開鍵を追加しても自動でログインしない
-
[解決済み】SSHリモートコマンドを手動で実行すると、なぜ環境変数が少なくなるのか?[クローズド]
-
[解決済み】Amazon EC2インスタンスにSSH接続しようとすると、「警告:保護されていないプライベートキーファイルがあります!」と表示される。
-
[解決済み】ansibleのSSH認証チェックを無視する方法は?