В ходе разработки программ иногда возникает необходимость в таких действиях/командах, для выполнения которых прав доступа недостаточно или отсутствует доступ к некоторым директориям у пользователя, из-под которого запущен на сервере и исполняется Друпал. Выход из данной ситуации в использовании библиотеки libssh2: она обеспечивает доступ к ресурсам (shell) отдалённого сервера, используя при этом зашифрованное соединение.
Shell (от англ. оболочка) - это интерпретатор команд операционной системы.
Для использования shell команд в php, необходимо знать следующее: порт, хост, имя пользователя, пароль. Для соединения с сервером используется функция ssh2_connect, для авторизации пользователя - ssh2_auth_password.
$port = 2002; $server = 'example.com'; $login = ''; $pass = '12345'; if (!function_exists("ssh2_connect")) { exit("ssh2_connect disable"); } if(!($con = ssh2_connect($server, $port))){ //переменный $con в случае успешного соединения //присваивается ссылка идентификатора SSH з’соединения, //необходимое позже для вызова функции ssh2_auth_password, //при неудачном соединении присваеваится значение FALSE. exit("could not connect to {$server} with port {$port}"); } if(!ssh2_auth_password($con, $login, $pass)) { exit("login/password is incorrect"); }