protected function connectToSftp($server)
{
try {
$options = $this->getCommonOptions($server);
if (!empty($server['privkey']) && '~' === $server['privkey'][0] && getenv('HOME') !== null) {
$server['privkey'] = substr_replace($server['privkey'], getenv('HOME'), 0, 1);
}
if (!empty($server['privkey']) && !is_file($server['privkey'])) {
throw new \Exception("Private key {$server['privkey']} doesn't exists.");
}
$options['privateKey'] = $server['privkey'];
$options['port'] = $server['port'] ?: 22;
return new Filesystem(new SftpAdapter($options));
} catch (\Exception $e) {
echo "\r\nOh Snap: {$e->getMessage()}\r\n";
}
}