SSHとSFTPを特定のフォルダに制限する

SSHとSFTPを特定のフォルダに制限する

テストユーザーを作成するときにユーザーパスがホームディレクトリになると99%確信しており、理論的にリンクしている場合は、何もしても何も表示されません。

私が間違っているので、ユーザーのSSHを特定のフォルダ(例:これ)それらのほとんどは、次のようなものを指していることがわかりました。

Match User testuser
    ChrootDirectory /home/testuser
    ForceCommand internal-sftp

ところで、SSHを試してみると、「Broken Pipe」というエラーメッセージが表示されますが、解決できません。

読み続けたり設定したりできる場所はありますか?

ありがとう

答え1

問題の原因は、そのユーザーがユーザーのホームディレクトリに書き込む可能性があるためです(テストユーザー)。 SSH は chroot が (ユーザ) 書き込み可能なディレクトリに入り、接続を終了することを許可しません。サーバーログにログメッセージが必要です。

sshd_configマニュアルページには次のように表示されますChrootDirectory

 ChrootDirectory
         Specifies the pathname of a directory to chroot(2) to after
         authentication.  At session startup sshd(8) checks that all
         components of the pathname are root-owned directories which are
         not writable by any other user or group. ...

選択は要件によって異なります。デフォルトのディレクトリ所有者をrootに変更し、他の書き込み権限を削除し(書き込み可能な)サブディレクトリをユーザーが所有することができます。たとえば、

mkdir /home/testuser_tmp
mv /home/testuser /home/testuser_tmp/
mv /home/testuser_tmp /testuser_tmp

ユーザーにシェルアクセス権もある場合は、書き込み/etc/passwd可能なサブディレクトリを指すようにホームディレクトリエントリを更新する必要があります。

関連情報