Работа с SSH (исполнение команд) в PHP средствами библиотеки phpseclib -- установка, примеры кода
Primary tabs
- Скачать библиотеку phpseclib можно отсюда: https://github.com/phpseclib/phpseclib/t...
- Или вторую ветку (версия 2.0+), где поддерживаются пространства имён (о которой и будет заметка ниже -- )https://github.com/phpseclib/phpseclib/t...
Также данная библиотека предоставляет возможность передачи файлов по 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 в примере было:
- Log in to post comments
- 7852 reads