Ansible connects on each task

This is just a debug message. What ansible calls a connection is a
Connection object, not the actual connection.

If you use "-c ssh" and have a client that supports Control Persist,
ansible will reuse connections just fine.

Fireball mode works in the same way.

It is true that paramiko does not currently hold connections open,
because of the way we use it with multiprocessing and plays, and
sharing connections across forks.

However, paramiko is pretty darn fast, and approaches the speed of
Control Persist, even that way.