Broadly, I'm having problems running drush sql-sync so that I can get a local copy of my dev database. I was getting an "The external command could not be executed due to an application error ... code: 255)" type thing.
To diagnose the problem more specifically, I ran drush @local sql-conf and got
Array ( [driver] => mysql [database] => soa [username] => drupaluser [host] => 127.0.0.1 [port] => 33066 )
When I then ran drush @dev sql-conf I got
Permission denied (publickey,password).
Running drush @dev sql-conf -s results in
Simulating backend invoke: ssh -o PasswordAuthentication=no email@example.com 'drush --invoke --simulate --root=/var/www/dev --uri=http://default sql-conf --site=sub --env=dev 2>&1' 2>&1