public function upload($local, $remote)
{
$serverConfig = $this->getConfiguration();
$username = $serverConfig->getUser() ? $serverConfig->getUser() : null;
$hostname = $serverConfig->getHost();
$dir = dirname($remote);
if (!in_array($dir, $this->mkdirs)) {
$this->run('mkdir -p ' . escapeshellarg($dir));
$this->mkdirs[] = $dir;
}
return $this->scpCopy($local, (!empty($username) ? $username . '@' : '') . $hostname . ':' . $remote);
}