Richer error message.
A user reported the following unhelpful log snippet:
[…] [SSH] Starting sftp client. 
[…] [SSH] Remote file system root does not exist. Will try to create it... 
hudson.util.IOException2: Could not copy slave.jar to slave 
at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:530) 
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:291) 
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:200) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: hudson.util.IOException2: Failed to mkdir 
at hudson.plugins.sshslaves.SFTPClient.mkdirs(SFTPClient.java:85) 
at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:505) 
... 7 more 
Caused by: com.trilead.ssh2.SFTPException: No such file (SSH_FX_NO_SUCH_FILE: A reference was made to a file which does not exist.) 
at com.trilead.ssh2.SFTPv3Client.expectStatusOKMessage(SFTPv3Client.java:556) 
at com.trilead.ssh2.SFTPv3Client.mkdir(SFTPv3Client.java:956) 
at hudson.plugins.sshslaves.SFTPClient.mkdirs(SFTPClient.java:83) 
... 8 more 
[…] [SSH] Connection closed.