Новости
Комментарии
Z114322631458
R239390993199
U309175226251
E156902879152
В примечании необходимо указать номер оплачиваемого счёта.
Комментарии
Популярный тариф
90гб трафика
Выделенный IP
Firewall
SSH доступ
20 процессов
15 процессов веб-сервера
Вы можете разместить 1 сайт
Всего за 150 рублей в месяц
Случайный тариф
Использование SSH из PHP скрипта
Не секрет, что подключаться к SSH и выполнять команды можно не только из интерактивного клиента, но и из разнообразных скриптов.
Рассмотрим использование SSH из PHP скриптов с авторизацией по логину и паролю или ключу.
Функции для работы с SSH в PHP не являются нативными, а реализуются расширением pecl-ssh2. На нашем хостинге SSH доступ есть на всех тарифах, и расширение pecl-ssh2 уже установлено, поэтому Вы можете просто приступить к использованию.
Общие сведения о SSH можно прочитать по ссылке: http://jahost.ru/doc/what_is_ssh
Краткий справочник по командам находится по ссылке: http://jahost.ru/doc/ssh-help
Авторизация по логину и паролю
Соединение с SSH и выполнение shell команды происходит в три функции:# Соединение с сервером, в данном примере это h1.jahost.ru
$connection = ssh2_connect('h1.jahost.ru', 22);
# Авторизация с использованием логина и пароля
ssh2_auth_password($connection, 'username', 'password');
# Выполняем команду
# (Выводим список папок и файлов в домашней директории)
$stream = ssh2_exec($connection, 'ls ~/');
Разумеется, username и password необходимо заменить на данные от Вашего аккаунта.
Авторизация по ключу
Прочитать про создание и использование SSH-ключа можно в статье Авторизация без пароля (по ключу).Необходимо создать SSH-ключ с кодовой фразой (passphrase) и не конвертировать его для PuTTy.
Соединение и авторизация немного отличаются от предыдущего варианта:
# Соединение с сервером, в данном примере это h1.jahost.ru
$connection = ssh2_connect('h1.jahost.ru', 22, array('hostkey'=>'ssh-rsa'));
# Авторизация с использованием ключей
if (ssh2_auth_pubkey_file($connection, 'username',
'~/.ssh/id_rsa.pub',
'~/.ssh/id_rsa', 'secret')) {
# Выполняем команду
# (Выводим список папок и файлов в домашней директории)
$stream = ssh2_exec($connection, 'ls ~/');
}
Для выполнения другой команды замените ls ~/ на нужную Вам.







