使用phpseclib连接到Sonicwall设备

时间:2015-06-22 21:15:03

标签: php ssh

尝试使用phpseclib替换我服务器上的SSH2 dll,这样我就可以转到php 5.6及更高版本了。我使用SSH登录Sonicwall防火墙并导出配置文件。

通过SSH登录并不像远程登录到Linux机箱。例如,Putty在您第一次连接时会询问用户名,但是sonicwall会忽略它,显示其欢迎横幅,然后要求输入用户名和密码。

我目前可以使用以下代码进行连接:

$connection = ssh2_connect($host);
ssh2_auth_none($connection,$user);
$shell = ssh2_shell($connection,'vt102',null,80,40,SSH2_TERM_UNIT_CHARS);
fwrite($shell, $user."\n");
fwrite($shell, $pass."\n");
// etc

我使用http://phpseclib.sourceforge.net/ssh/auth.html#noauth中的示例尝试了以下phpseclib:

$ssh = new \Net_SSH2('172.17.1.99');
$ssh->login("admin");
$ssh->read('User:');
$ssh->write('admin');
$ssh->read('Password:');
$ssh->write('password');

但是有些东西被挂断了,直到我的执行超时命中才会得到任何东西。

1 个答案:

答案 0 :(得分:0)

我找到了答案,我在用户名和密码后完全错过了换行符。