Debian 10 Buster
Sponsored Link

OpenSSH : SFTP only + Chroot2019/07/10

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

root@dlp:~#
groupadd sftp_users

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

root@dlp:~#
usermod -aG sftp_users debian

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

#
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 でアクセスして動作確認してみてください。
debian@www:~$
ssh debian@10.0.0.30

debian@10.0.0.30's password:
This service allows sftp connections only.
Connection to 10.0.0.30 closed.    
# 正常に拒否された
debian@www:~$
sftp debian@10.0.0.30

Connecting to 10.0.0.30...
debian@10.0.0.30's password:
sftp>
ls -l

drwxr-xr-x    2 1001     1001         4096 Jul 10 06:16 buster
drwxr-xr-x    3 1000     1000         4096 Jul 10 07:17 debian
sftp>
pwd

Remote working directory: /
sftp>
exit

関連コンテンツ