Я хочу сделать SSH- соединение с удаленным сервером, используя php.
Im использует php 5.3 для Linux / CEntOS.
Что я сделал до сих пор:
$connection = ssh2_connect('192.168.1.22', 22); ssh2_auth_password($connection, 'root', 'amertad'); $stream = ssh2_exec($connection, 'ls -l');
Но я получаю эту ошибку:
Неустранимая ошибка: вызов неопределенной функции ssh2_connect ()
Итак, мои вопросы:
Являются ли функции ssh2_*
не установлены по умолчанию в php?
Нужно ли расширение для их использования?
Как я могу решить эту проблему ?
Вы можете настроить свой сервер (Ubuntu):
sudo apt-get install libssh2-php sudo service apache2 restart
Загрузите его здесь или здесь (прямая ссылка),
Включите его в проект,
А потом :
include('Net/SSH2.php'); $ssh = new Net_SSH2('www.example.com'); $ssh->login('username', 'password') or die("Login failed"); echo $ssh->exec('command');
вinclude('Net/SSH2.php'); $ssh = new Net_SSH2('www.example.com'); $ssh->login('username', 'password') or die("Login failed"); echo $ssh->exec('command');
Функция ssh_ * не установлена по умолчанию в ядре php. Вы должны добавить их с помощью pecl, см. Руководство по php для хорошего описания: http://de1.php.net/manual/en/ssh2.installation.php