Работа с 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
- 7071 reads