in reply to
Re^6: SSH2 - Asynchronous Opens & Synchronous Commands
in thread SSH2 - Asynchronous Opens & Synchronous Commands
The connection and authentication phases are carried out by the OpenSSH client and it doesn't pass the cause of the failure back to the module.
An easy to implement workaround is to redirect the output of the master ssh process to a file and then, to retrieve it when something goes wrong.
my $ssh = Net::OpenSSH->new($host, master_stderr_file => "/tmp/ssh-std
+err-$host", master_opts => ['-v'], ...);