php ssh连接phpseclib

时间:2019-04-09 18:08:08

标签: php linux ssh xampp phpseclib

系统:Linux
伺服器:XAMPP
目标:
ssh-连接到服务器(稍后:在此服务器上做一些事情,不属于此问题)

测试代码:

 <?php  
    set_include_path(get_include_path().PATH_SEPARATOR.'/home/myusername');
    include('Net/SSH2.php'); 
    $ssh = new Net_SSH2('123.45.6.78'); 
    if (!$ssh->login('user', 'password')) { 
    exit('Login Failed'); 
    }else{ 
    echo "connected".'<br>'; 
    echo $ssh->exec('whoami').'<br>';
    echo $ssh->exec('hostname')).'<br>';
    }   
    ?>

输出:

    已连接
    (M4300-28G-PoE +)>
    (M4300-28G-PoE +)>

问题:
我没有任何错误(无论是在网站的输出中(参见上文)还是在/ opt / lampp / logs / error_logs中),因此:
问题:
为什么我没有得到任何输出(用户,主机名)? 还有其他/更好的方法来检查我是否连接正确吗?

1 个答案:

答案 0 :(得分:0)

看起来您正在获得输出。 (M4300-28G-PoE+) >是您要获取的输出,并且您正在尝试运行的两个命令都获取它。

M4300-28G-PoE +是NetGear switch。交换机因没有完整的SSH实现而臭名昭著。

我的猜测:如果要运行命令,则必须使用phpseclib的interactive commands

echo $ssh->read('username@username:~$');
$ssh->write("ls -la\n"); // note the "\n"
echo $ssh->read('username@username:~$');
相关问题