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

 

Ubuntu 23.04

Posted by arkgame