Работа с SSH (исполнение команд) в PHP средствами библиотеки phpseclib -- установка, примеры кода

Также данная библиотека предоставляет возможность передачи файлов по SFTP.

Стандартные примеры использования

Стандартные примеры использования библиотеки (взяты из комментариев к исходному коду) -- авторизация по логину и паролю -- оба примера подразумевают, что вы используете автозагрузка по PSR-4:

include 'vendor/autoload.php'; // запуститили автозагрузчик

$ssh = new \phpseclib\Net\SSH2('domain.tld');
if (!$ssh->login('username', 'password')) {
	exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');

Авторизация по логину и файлу ключа ("по ключу"):

include 'vendor/autoload.php';  // запуститили автозагрузчик

$key = new \phpseclib\Crypt\RSA();
//$key->setPassword('whatever');
$key->loadKey(file_get_contents('privatekey'));

$ssh = new \phpseclib\Net\SSH2('domain.tld');
if (!$ssh->login('username', $key)) {
	exit('Login Failed');
}

echo $ssh->read('8888:~$');
$ssh->write("ls -la\n");
echo $ssh->read('8888:~$');

Вместо 8888 в примере было:

username@username