PHPモジュールSSH2を使用して、リモートサーバーでコマンドを実行しています。公開鍵(ssh2_auth_pubkey_file())で認証していますが、問題は、id_dsa(秘密)およびid_dsa.pub(公開)鍵をWebサーバーのルートディレクトリ(lighttpd)にコピーし、それ以外の場合はchmod644にする必要があることです。 「公開鍵を使用したルートの認証に失敗しました」というメッセージが表示されます。これは重大なセキュリティ問題のようです。id_dsa chmod 600の権限を保持し、Webサーバーで読み取り可能にしないようにする方法はありますか?つまり、所有者とグループはlighttpd:lighttpdではなくroot:rootのままですか?
1 に答える
1
秘密鍵を読み取ることができない場合、ウェブサーバーはどのように自分自身を識別することになっていますか? Web サーバーのプロセスが読み取り可能である必要がありますが、0400 にする必要があります。または、suexec などを使用して、他のユーザーがログイン プロセスを実行できるようにします。
とはいえ、Web サーバーにリモート管理アクティビティを実行するように命令できる方法がある場合は、とにかくセキュリティへの影響について慎重に検討する必要があります。キーをどれだけ安全に保管しても、サーバーにリモート アクションを実行させることができれば、問題は解決しません。
于 2011-07-12T23:28:36.123 に答える