What could cause remote drush commands to fail with ssh errors when ssh works in all other cases? I have public and private ssh keys on all of my three servers (dev, UAT, &amp; production) so I can log in remotely, or from one to another.  Everything is working perfectly for the ssh and scp commands.  

It does not work, however, for Drush.  If I execute drush @dev status from UAT, for example, I get the server's banner saying the system is "to be used by authorized users only blah blah blah", and then I get 


  Permission denied (publickey,password,keyboard-interactive).


My ~/.drush/aliases.drushrc.php file contains:

# Development #
$aliases['dev'] = array(
  'uri' =&gt; 'http://default',
  'root' =&gt; '/var/www/vhosts/dev.www.company.com/current/',
  'remote-host' =&gt; 'companya0.company.com',
  'remote-user' =&gt; 'myusername'
);

# UAT #
$aliases['uat'] = array(
  'uri' =&gt; 'http://default',
  'root' =&gt; '/var/www/vhosts/uat.www.company.com/current/',
  'remote-host' =&gt; 'companyc6.company.com',
  'remote-user' =&gt; 'myusername'
);

# Production #
$aliases['prod'] = array(
  'uri' =&gt; 'http://default',
  'root' =&gt; '/var/www/vhosts/www.company.com/current/',
  'remote-host' =&gt; 'companyc1.company.com',
  'remote-user' =&gt; 'myusername'
);


ONLY Drush has any problem using my ssh keys.
What could be preventing it from working?
Put this line in your drushrc.php file:

$options['ssh-options'] = '-o PasswordAuthentication=no -i /home/YOURUSERNAME/.ssh/id_rsa';


This will cause Drush to pass these options along to ssh any time it calls your remote system, so you can continue to call Drush via sudo, and still use your login user credentials.