patorashのブログ

方向性はまだない

ansibleでSSH接続時にToo many authentication failuresが出た場合の対処法

小ネタです。表題の通りですけど、エラーが出ました。

ちょうど他のサーバにSSHするときにも同じエラーが出ていました。

kou-i.hatenadiary.org

通常のSSHでは、.ssh/configの中でIdentitiedOnly yesを設定すれば、問題なく接続できるようになりました。

そして、ansible-playbookを実行しようとしたら、同じようなエラーが…。

TASK [Gathering Facts] ***********************************************************************************************************************************************************************************************************************
fatal: [vagrant]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Received disconnect from 127.0.0.1 port 2222:2: Too many authentication failures\r\nDisconnected from 127.0.0.1 port 2222", "
unreachable": true}

PLAY RECAP ***********************************************************************************************************************************************************************************************************************************
vagrant       : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0

インベントリではどうやってIdentitiedOnlyを指定するんだ?エラーメッセージでググったら、即出てきました。

Ansible SSH too many authentication failures · GitHub

ansible_ssh_extra_args="-o IdentitiesOnly=yes"を追加します。

[app]
vagrant ansible_host=127.0.0.1 ansible_port=2222 ansible_user=vagrant ansible_ssh_private_key_file=/Users/*******/sources/github.com/********/ansible-project/.vagrant/machines/default/virtualbox/private_key ansible_ssh_extra_args="-o IdentitiesOnly=yes"

これで問題なくansible-playbookを実行できました👏