ホームページ  >  記事  >  バックエンド開発  >  PHP が ssh2 テクノロジーを使用してリモート ログインを実現し、サーバー上のプログラムを操作する方法の詳細な説明

PHP が ssh2 テクノロジーを使用してリモート ログインを実現し、サーバー上のプログラムを操作する方法の詳細な説明

零到壹度
零到壹度オリジナル
2018-03-22 09:53:322315ブラウズ

私の仕事ではLinux側で動作するソフトウェアを可視化する必要があるため、Webベースで可視化する予定です。問題は、プラットフォーム間で Web と Linux のソフトウェアをどのようにシームレスに接続するかということです。幸いなことに、ssh2 テクノロジーを使用してニーズを実現する方法が見つかりました。

私のケースを以下に示します:

まず Linux 側に ssh2 パッケージをインストールし、次に Linux コマンドを実行して Linux 側プログラムを実行する必要があるページに次のコードを追加します。

<?php
$host=&#39;*******&#39;;//服务器的ip
$user=&#39;****&#39;;//用户名
$passwd=&#39;******&#39;;//密码
// 链接远程服务器
$connection = ssh2_connect($host, 22);
if (!$connection) die(&#39;connection to &#39;.$host.&#39;:22 failed&#39;);
echo &#39;connection OK<br/>&#39;;
// 获取验证方式并打印
$auth_methods = ssh2_auth_none($connection, $user);
print_r( $auth_methods.&#39;<br/>&#39;);
if (in_array(&#39;password&#39;, $auth_methods ))
{
// 通过password方式登录远程服务器
if (ssh2_auth_password($connection, $user, $passwd))
{
echo $user.&#39; login OK<br/>&#39;;
$stream = ssh2_exec($connection, "命令1&&命令2"); // 一条一条地执行linux命令
stream_set_blocking($stream, true); // 获取执行pwd后的内容
if ($stream === FALSE) die("pwd failed");
echo stream_get_contents($stream).&#39;<br/>&#39;;
}
else
{
die( $user.&#39; login Failed<br/>&#39;);
}
}
?>

個人的にテストしたところ、うまくいきました。

関連する推奨事項:

Javaはssh2プロトコルを使用してリモートログインします

SSH2リモートログイン後、スクリプトを自動的に実行する方法

以上がPHP が ssh2 テクノロジーを使用してリモート ログインを実現し、サーバー上のプログラムを操作する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。