php ssh соединение: выберите подсистему
Я использую эту библиотеку http://phpseclib.sourceforge.net/ssh/intro.html для создания постоянного ssh-соединения. Мне нужно выбрать подсистему (которая будет -s
параметр в соответствующем Unix ssh
команда).
Как мне этого добиться?
Вот мой код
$this->ssh = new Net_SSH2($this->host, $this->port);
$key = new Crypt_RSA();
$key->loadKey(file_get_contents($this->key));
if (!$this->con->login('username', $key)) { exit('Login Failed'); }
1 ответ
Решение
Последняя git-версия phpseclib должна поддерживать это. например.
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('127.0.0.1');
$ssh->login('username', 'password');
$ssh->setTimeout(5);
$ssh->startSubsystem('vim');
echo $ssh->read();
Эта подсистема vim определяется путем Subsystem vim /usr/bin/vim
в sshd_config.