Ansibleにおいて表題の通り。
■ 環境
- Ansible 2.5.3
- Vagrant 2.0.3
- macOS High Sierra
■ きっかけ
開発やテスト用にVagrantを使用しているのだが、何度も作成したり削除したりを繰り返しているうちに、InventoryFileがごちゃ混ぜになってしまった。複数のVMを使用していることもあり、Ansibleのplaybookを試す際にグループを変えて試したり…と。
その中である時下記のようなエラーが。
$ ansible group1 -m ping
host01 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.\r\nvagrant@127.0.0.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n",
"unreachable": true
}
$
接続ができない!?
InventoryFileを確認してみると該当行は特に問題はなさそう。`vagrant ssh host01`でもログインが可能である。
よくよくメッセージを読んでみると、今回起動したVMのPortが違う気がする。改めてInventoryFileを確認してみると別のグループに同名で記載されてしまっていた。
$ cat hosts
:
[group1]
host01 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2201
:
[group3]
host01 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222
:
どうやら下に記載されていた設定で上書きされていたようである。複数行あった記載を1行のみに編集したところ問題なく使用できた。
以上。