web-dev-qa-db-ja.com

ローカルホストでのAnsible SSH ERROR接続

Localhostホストに対してプレイブックを起動すると、このエラーが発生します。

TASK [setup] *******************************************************************
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true}
to retry, use: --limit @deploy-test-env.retry

PLAY RECAP *********************************************************************
127.0.0.1                  : ok=0    changed=0    unreachable=1    failed=0

そして、私のhostsファイルにはこの設定があります:

[local]
127.0.0.1

何が問題ですか?

ありがとう!

23
Miguel

デフォルトでは、Ansibleはsshを介して接続しようとします。 localhostの場合、接続をlocalに設定する必要があります。

プレイブックを呼び出すときにこれを定義できます。

ansible-playbook playbook.yml --connection=local

プレイブックで定義してください:

- hosts: local
  connection: local

または、localhost/127.0.0.1のホスト変数として定義することをお勧めします。ファイルを作成するHost_vars/127.0.0.1このコンテンツを含むあなたのプレイブックに相対的:

ansible_connection: local

インベントリにグループ変数として追加することもできます:

[local]
127.0.0.1

[local:vars]
ansible_connection=local

またはホスト変数として:

[local]
127.0.0.1   ansible_connection=local

ドキュメントの動作パラメータ を参照してください。

60
udondan

私にとってうまくいくのは、ローカルホストをインベントリに含めず、ホストパターンでのみ指定することです。

つまりホスト:localhost

これは、ansibleへのローカル接続を意味するようです

0
Erich

もっと簡単にできます。

ansible.cfgファイルの[defaults]セクションの下に、次の行を貼り付けます。

transport = local