PHP Linuxサーバーをリモートでシャットダウンする

おそらく、私のように、サーバーをリモートでシャットダウンする必要があったのでしょう(彼が絶えず動作するためのサーバーだったので、奇妙なニーズです)。 いずれにせよ、誰もが独自の動機を持っています。 そのため、別のコンピューターからリモートサーバーをシャットダウンし、AndroidとiOSでシャットダウンする必要がありました。





phpスクリプトでsshを使用してコンピューターの電源をオフにします(AndroidおよびiOS用のアプリケーションを作成する必要はありませんが、スクリプトへのリンクを作成するだけです)。 これを行うには、php用のsshライブラリをインストールする必要があります。 この手順はここで十分に詳細に説明されます



次に、コンピューターswitcher.phpをオフにするスクリプトを作成する必要があります。

<?php if (!function_exists ("ssh2_connect")) die ("function ssh2_connect doesn't exist"); if(!($con = ssh2_connect("localhost", 22))){ echo "fail: unable to establish connection\n"; } else { //       if(!ssh2_auth_password($con, "root", $_GET["password"])) { echo "fail: unable to authenticate\n"; } else { // allright, we're in! echo "okay: logged in...\n"; //   if (!($stream = ssh2_exec($con, "poweroff" ))) { echo "fail: unable to execute command\n"; } else { // collect returning data from command stream_set_blocking ($stream, true); $data = ""; while ($buf = fread ($stream,4096)) { $data .= $buf; } fclose ($stream); echo $data; } } } ?>
      
      







その結果、サーバーをシャットダウンするには、次のタイプのURLが使用されます:127.0.0.1/switcher.php?password=my_pass



これですべてです。どのデバイスでも、任意のデバイスのデスクトップにショートカットを追加でき、すべてが問題なく、セキュリティが低下します=)



私は他の方法に喜んでいるでしょう、異なるプラットフォームから直接接続するためのsshオプションがありましたが、これはより安全ですが、開発時間を増加させます



All Articles