これはルートアクセスがないと悪い考えです。 Apacheのユーザーがあなたの秘密鍵を見ることができるようにするには、それを世界で読めるようにしなければなりません:chown www-data:www-data
はルートできないので、Apacheが見ることができるだけでなく、システム上のすべてのユーザがに。これはとても悪い考えですので、OpenSSHはデフォルトで許可しません。あなたの秘密鍵に不当に開いているファイルのアクセス権がある場合、実行を拒否します。
私はこれに反対することを強く推奨します。 PHPに本当にSSH鍵でリモートコマンドを実行させる必要がある場合は、リンクの行に沿って、より安全なものを設定するためにroot権限を持つ人が必要になります。
さらに安全な方法は、定義したパスワードを含むHTTP要求を受け取り、あらかじめ定義されたコマンドを実行して出力を返すPHPスクリプトをターゲットマシンに書き込むことです。このスクリプトが安全に書かれ、あらかじめ定義された1つのコマンドしか実行できない場合、このスクリプトのパスワードが自分のパスワードと同じでない限り、攻撃者はあなたと同じコマンドを実行します。重要なのは、リモートユーザが任意のコマンドをターゲットマシン上で実行することを許可していないということです。実行可能にしたいコマンドが潜在的に有害ではなく、スクリプトに他のコマンドを実行できるようにするコーディングエラーが含まれていないことが確かであれば、これはあまり良い考えではありません。
動作しません。私は、アイデンティティファイルをApacheで読み取り可能にする必要があります。つまり、他の人(r + o)で読むことを意味します。どうやらsshはあまりにも開いているファイルモードが好きではありません! –