ホームページ  >  記事  >  バックエンド開発  >  PHP で SSH コマンドを安全に実行するにはどうすればよいですか?

PHP で SSH コマンドを安全に実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-23 15:38:02554ブラウズ

How to Execute SSH Commands Safely in PHP?

PHP で SSH コマンドを安全に実行する

PHP から SSH コマンドを実行する必要がある場合があります。 shell_exec の使用は簡単な方法ですが、安全ではないと考えられています。この記事では、信頼性の高い純粋な PHP SSH 実装である phpseclib を使用した、より安全なアプローチを紹介します。

SSH 実行に PHPseclib を使用する

phpseclib を利用するには、次の手順に従います。

  1. スクリプトに Net/SSH2.php ファイルを含めます。
  2. リモート サーバーのホスト名または IP アドレスを指定して、Net_SSH2 オブジェクトをインスタンス化します。
  3. 次を使用してログインを試みます。適切なユーザー名とパスワード。
  4. ログインに成功すると、exec メソッドを使用してリモートでコマンドを実行できます。

例:

<code class="php"><?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?></code>

このコード スニペットは次の方法を示しています。

  • SSH 経由でリモート サーバーに接続する
  • pwd (作業ディレクトリの印刷) コマンドを実行する
  • ls を実行する-la (すべてのファイルとディレクトリを長い形式でリストします) コマンド
  • コマンドの出力を表示します

PHPseclib の利点

phpseclib

  • 安全で信頼性の高い SSH 実装
  • 幅広い SSH プロトコルと機能のサポート
  • カスタマイズと追加機能を可能にする拡張可能なフレームワーク

以上がPHP で SSH コマンドを安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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