VPS をアップグレードした後、Ubuntu の upstart と OpenVZ の間の互換性の問題により、sshd サービスが自動的に開始されませんでした。vePortal のコンソールとファイル マネージャーを試し、テクニカル サポートに送信しましたが、問題は解決できませんでした。
信頼できるのは自分自身だけです。WordPress はまだ生きており、テーマ関連の PHP スクリプトをバックグラウンドで直接編集できるため、PHP で su コマンドを実行して sshd サービスを実行するのが一般的です。準備したコード スニペットを header.php に挿入し、ブラウザでホームページにアクセスするだけです。
関連コードロジック
1. PHP の proc_open を使用してプロセスを開き、stdin、stdout、stderr をリダイレクトします。ここで Python プログラムが実行されます。
2. この Python プログラムで pty を開き、sh を実行します。
3. ステップ 1 でリダイレクトされた stdin パイプを使用して su コマンドを Python プログラムに送信します。このとき、Python はコマンド データを stdin から ptmx に書き込みます。ペアリングされた pts の ptmx を使用します。つまり、su コマンドは最終的に sh プロセスに転送されて処理されます。
4. sh プロセスは当然 su コマンドを実行します。このとき、su プロセスの stdin、stdout、stderr もその pts にリダイレクトされます。
5. 一定期間スリープした後 (主に su が実際に実行を開始するのを待ちます)、データ フロー プロセスは手順 3 と 4 と同じです。
関連コード スニペット: