Debian 12 bookworm
Sponsored Link

OpenSSH : SFTP only + Chroot2023/06/14

 
特定のユーザーに対して、シェルへの制限をかけて SFTP のみを許可し、且つ、Chroot 有効にして特定のディレクトリ配下のみアクセスできるよう設定します。
[1] 例として [/home] を Chroot ディレクトリとして設定します。
# SFTP 専用グループ作成

root@dlp:~#
groupadd sftp_users

# 例としてユーザー [bookworm] には SFTPのみを許可する

root@dlp:~#
usermod -aG sftp_users bookworm

root@dlp:~#
vi /etc/ssh/sshd_config
# 115行目 : コメントにしてその下に追記

#
Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
# 最終行に追記

Match Group sftp_users
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory /home
    ForceCommand internal-sftp

root@dlp:~#
systemctl restart ssh
[2] 対象のユーザーで SSH や SFTP でアクセスして動作確認しておきます。
bookworm@node01:~$
ssh bookworm@dlp.srv.world

bookworm@dlp.srv.world's password:
This service allows sftp connections only.
Connection to dlp.srv.world closed.   # 設定通り拒否された

bookworm@node01:~$
sftp bookworm@dlp.srv.world

bookworm@dlp.srv.world's password:
Connected to dlp.srv.world.
sftp>
関連コンテンツ