When I run:
ansible all -a "/bin/echo hello" -u myuser
I get back:
mydomain.myhost.com | FAILED => failed to open a SFTP connection (Channel closed.)
The SFTP subsystem is disabled on the managed node I'm trying to connect to.
Is SFTP required on the managed nodes? The Ansible docs don't mention SFTP specifically: http://docs.ansible.com/intro_installation.html#managed-node-requirements
I tried setting this value in ansible.cfg:
scp_if_ssh=True
...but it had no effect. (Thanks to Fred the Magic Wonder Dog for the suggestion.)
I also ensured that my non-interactive shell doesn't produce any output as suggested here.