OpenSSH SFTPのみ且つChroot ディレクトリ有効にする方法
環境
Ubuntu 23.04
OpenSSH
概要
特定のユーザーに対して、シェルへの制限をかけて SFTP のみを許可し、
Chroot 有効にして特定のディレクトリ配下のみアクセスできるよう設定します。
操作方法
1. SFTP 専用グループを作成します
# groupadd sftp_users
2.ユーザー [ubuntu] には SFTPのみを許可します
# usermod -aG sftp_users ubuntu
3. [/home] を Chroot ディレクトリとして設定します。
# vi /etc/ssh/sshd_config
# 118行目 コメントにしてその下に追記する
修正前
Subsystem sftp /usr/lib/openssh/sftp-server
修正後
#Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp
# 最終行に追記
Match Group sftp_users X11Forwarding no AllowTcpForwarding no ChrootDirectory /home ForceCommand internal-sftp
4.sshを再起動します
# systemctl restart ssh
5. 対象のユーザーで SSH や SFTP でアクセスして動作確認します
$ ssh ubuntu@xxx.com $ sftp ubuntu@xxx.com