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-server に許可されている引数をチェックすることもできます。よく知られているrrsync
スクリプトと同様の考え方です。
その他の「no-*」オプションについては、ほとんどのオプションが使えると思いますので、試してみてください。説明はman sshd
->AUTHORIZED_KEYS FILE FORMAT