3
接続ユーザーの公開鍵に応じてchrootを使用したSFTP
sshfsを介してさまざまなクライアントからバックアップを受け取るサーバー(DebianまたはFreeBSDを実行)を構築したいと思います。各クライアントは、独自のバックアップデータを読み書きできますが、他のクライアントのデータはできません。 私は次のアイデアを持っていました:各クライアントは公開鍵認証を介してbackup@backupserver.localに接続します。ユーザーバックアップには、次のような特別なauthorized_keysファイルがあります。 command="internal-sftp" chroot="/backup/client-1/data" ssh-rsa (key1) command="internal-sftp" chroot="/backup/client-2/data" ssh-rsa (key2) command="internal-sftp" chroot="/backup/client-3/data" ssh-rsa (key3) etc... これの利点は、クライアントごとに個別のユーザーを使用する必要がなく、スクリプトを使用して簡単にauthorized_keysファイルを自動生成できることです。 ただ1つの問題がありchroot=...ます。それが機能しません。OpenSSHのauthorized_keysファイルには、ChrootDirectoryに相当するものがないようです(これは/ etc / ssh / sshd_configでグローバルに、またはMatch Userブロックで機能します)。 OpenSSHを使用してやりたいことを達成するための合理的に簡単な方法はありますか?たぶんcommand=...賢明な方法でディレクティブを使用していますか?または、私がやりたいことができる他のSFTPサーバーはありますか? 編集:私が達成したいことをより明確にするために:複数のクライアントが私のサーバーにファイルを保存できるようにしたいと思います。各クライアントは他のクライアントのファイルを見ることができません。また、サーバーに何十ものユーザーアカウントを散らかしたくないので、クライアントがユーザーアカウントを共有しても、お互いのファイルにアクセスできない、簡単に管理できるソリューションが欲しいのです。