我担心这个问题看起来很微不足道,但是我整天都在研究这个问题并且无法理解会发生什么。
我使用SSH库phpseclib连接到ssh主机,然后执行telnet连接
<?php
set_include_path(get_include_path() . "\\" . 'phpseclib');
include('Net/SSH2.php');
$ssh = new Net_SSH2('10.10.10.10');
if (!$ssh->login('user', 'password'))
{
exit('Login Failed');
}
echo $ssh->read('$');
echo "<hr />";
echo $ssh->write("telnet 10.10.20.20\n");
echo "<hr />";
echo $ssh->read('User');
echo "<hr />";
echo $ssh->write('admin\n');
echo"<hr />";
echo $ssh->read('Password');
$ssh->write('admin\n');
?>
好吧,检测到用户后调试就停止了。我想我发送给用户,但我会永远等待字符串密码。
我在HTML代码中的出口如下
Last login: Tue Dec 2 14:06:11 2014 from 10.10.10.2 $1
telnet 10.10.20.20 Telnet escape character is 'off'. Trying 10.10.20.20...
Connected to 10.10.20.20. Escape character is 'off'. ****Hello User1
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\php\pear\phpseclib\Net\SSH2.php on line 2699
嗯,请注意,在最后一次登录和Hello用户之后,1出现两次,这是非故意的。
嗯,有什么想法吗?
另一方面,我尝试使用&#34; exec&#34;命令,但也没有成功。