由於工作需要將一個在linux端運行的軟體視覺化,打算基於web的形式將其視覺化。帶來的問題是如何跨平台無縫銜接web和linux中的軟體,有幸的看到一個方法,利用ssh2技術來實現我的需求。
下面提供我的案例:
#首先在linux端安裝ssh2包,然後在需要執行linux指令,執行linux端程式的頁面加入以下程式碼:
<?php $host='*******';//服务器的ip $user='****';//用户名 $passwd='******';//密码 // 链接远程服务器 $connection = ssh2_connect($host, 22); if (!$connection) die('connection to '.$host.':22 failed'); echo 'connection OK<br/>'; // 获取验证方式并打印 $auth_methods = ssh2_auth_none($connection, $user); print_r( $auth_methods.'<br/>'); if (in_array('password', $auth_methods )) { // 通过password方式登录远程服务器 if (ssh2_auth_password($connection, $user, $passwd)) { echo $user.' login OK<br/>'; $stream = ssh2_exec($connection, "命令1&&命令2"); // 一条一条地执行linux命令 stream_set_blocking($stream, true); // 获取执行pwd后的内容 if ($stream === FALSE) die("pwd failed"); echo stream_get_contents($stream).'<br/>'; } else { die( $user.' login Failed<br/>'); } } ?>
親測有效。
相關推薦:
以上是詳解php如何利用ssh2技術實現遠端登入並操作伺服器上的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!