web-dev-qa-db-ja.com

sshdで `ForceCommand`を使用してラッパースクリプトを使用する場合、ʻinternal-sftp`を使用できますか?

I se/etc/ssh/wrapper.shスクリプト、 tutorial のように、sshを介して実行できるコマンドをフィルタリングし、ログに記録します。

現在、internal-sftpが必要な場合は、/usr/lib/sftp-serverを使用します。

internal-sftpの代わりにchrootを使用してもsshバイナリの/usr/lib/sftp-serverを実行する方法はありますか? (たとえば、いくつかのsshコマンドラインフラグを介して)

いいえ。internal-sftpsshdサーバー内で評価されます。ラッパースクリプトをすでにForceCommandとして使用している場合、戻ることはできません。できたとしても、chrootにはsshdバイナリもありません。

残念ながら、internal-sftpとは異なるForceCommandは、sftpサブシステムでさえブロックします(サブシステムは内部的にコマンドとして処理されます)。

これを行う唯一の方法は、sftp-serverchrootにコピーし、そこから実行することです(これも、すべての依存共有オブジェクトなどで)。

3
Jakuje