私の仕事では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/>'); } } ?>
個人的にテストしたところ、うまくいきました。
関連する推奨事項:
Javaはssh2プロトコルを使用してリモートログインします
SSH2リモートログイン後、スクリプトを自動的に実行する方法
以上がPHP が ssh2 テクノロジーを使用してリモート ログインを実現し、サーバー上のプログラムを操作する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。