Como já foi dito, a autenticação de dois fatores atualmente não é suportada pelo Ansible.
Parece haver duas opções para solucionar essa limitação:
- desativando a autenticação de dois fatores para o usuário Ansible
I'm working around this with duo auth by excluding the ansible user's group in pam_duo.conf and login_duo.conf, and then setting the following in sshd_config:
Match User ansible AuthenticationMethods publickey
Desativa efetivamente a autenticação de dois fatores para o usuário Ansible.
- usando um host bastião
I finally implemented something similar to this: http://blog.scottlowe.org/2015/12/24/running-ansible-through-ssh-bastion-host/
I open up the initial connection to the host which has 2FA, then in another window run something like:
ansible-playbook thing.yml --ssh-common-args='-o ControlPath=~/.ssh/connshare'
Veja a discussão neste problema do github .