我尝试使用phpseclib通过WEB代理将SSH连接到我的Web服务器。 PHP文件非常简单,但它不起作用,问题是什么?
在服务器似乎挂起几秒钟后,我得到的结果是:
cd / home / web / sqladmin \ nls -la \ n
我还尝试使用\ r \ n和\ r而不是\ n。 PHP文件名是" ssh.php"。
<?php
ini_set("display_errors",1);
include('Net/SSH2.php');
$ssh = new Net_SSH2('127.0.0.1');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
?>
<br>
<form action="ssh.php" method="get" name="salvarouting">
Comando: <input name="comando" type="text">
<br><input name="avanti" type="submit" value="OK">
</form>
<br>
<?php
$ssh->read('/.*@.*[$|#]/', NET_SSH2_READ_REGEX);
$ssh->write('cd /home/web/sqladmin\n');
if(isset($_GET['comando'])) {
$ssh->write($_GET['comando'].'\n');
$ssh->setTimeout(10);
echo '<pre>'.htmlspecialchars($ssh->read()).'</pre>';
}
?>