SSHFS経由でのみファイルの保存と書き込みを制限するには、SSHキーにどのような制限が必要ですか?

SSHFS経由でのみファイルの保存と書き込みを制限するには、SSHキーにどのような制限が必要ですか?

sshfsプロセスのみがキーを使用できるように使用されるsshfsキーを制限したいと思います。つまりsshfs、ファイルの書き込みと保存、およびディレクトリ一覧コマンドに制限されます。

オプションに加えてno-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty他のオプションを追加する必要があります(影響を与えないようです)?

私はcommand=オプションとその中にsftp何がscp入るべきかを具体的に考えています。

答え1

私にとってこれはうまくいきます:

command="/usr/lib/ssh/sftp-server"

(Sshサーバーのプロセスのリストを見ると直接知ることができます。)

より良いことは、シェルスクリプトを指して、commandクライアントが正しいコマンドを使用していることを確認できることです。次のようになります(単純化、テストされていません)。

#!/bin/sh
# We get SSH_ORIGINAL_COMMAND from sshd

# comment out for production!
echo "debug original command: $SSH_ORIGINAL_COMMAND" >&2

if [ "$SSH_ORIGINAL_COMMAND" != "/usr/lib/ssh/sftp-server" ]; then
    echo "access denied" >&2
    exit 1
fi
exec /usr/lib/ssh/sftp-server

これらのスクリプトは、SFTPサーバーで許可されているパラメータも確認できます。よく知られているスクリプトにrrsync似たアイデアです。

他の可能な「*なし」オプションの場合。私はあなたがそれらのほとんどを使用できると思います。試してみてください。彼らの説明はman sshd-> にあります。AUTHORIZED_KEYS FILE FORMAT

関連情報