One of the reasons paramiko is the default connection type is because openssh does not support ControlPersist on EL6 (so sad!), which means paramiko is needed for better performance.
Seth Vidal and I have talked about why openssh couldn’t be the default and I’ve come up with a way that should be able to do this.
Imagine the new default connection type is ‘smart’.
Smart would, in Runner, run “ssh -o ControlPersist” and look at see if ControlPersist was a recognized parameter. It it was, it would pick the transport of “ssh”, if not, paramiko.
In some cases OpenSSH might be a little slower than paramiko, in some other cases, a bit faster, but I think most people would be happier with this arrangement knowing we’re going down most of the OpenSSH toolchain.
The other thing that has been suggested with the host checking is changing the operation of the SSH connection type slightly, so that first contacts with hosts not in the host file are flocked, such that the prompting messages about whether or not to add those hosts are serialized. This would not happen on later connections.