RHEL9 OpenSSH SFTPのみを許可する方法

環境
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)

概要
特定のユーザーに対して、シェルへの制限をかけて SFTP のみを許可し、
且つ、Chroot を有効にして特定のディレクトリ配下のみアクセスできるよう設定します。

操作方法
1. [/home] を Chroot ディレクトリとして設定します。
SFTP グループを作成します
# groupadd sftp_users

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/ssh/sshd_config
# 123行目 : コメントにしてその下に追記
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# vi /etc/ssh/sshd_config # 123行目 : コメントにしてその下に追記 #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp
# vi /etc/ssh/sshd_config
# 123行目 : コメントにしてその下に追記
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

最終行に追記

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /home
ForceCommand internal-sftp
Match Group sftp_users X11Forwarding no AllowTcpForwarding no ChrootDirectory /home ForceCommand internal-sftp
Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /home
  ForceCommand internal-sftp

2.sshdを再起動します
# systemctl restart sshd

3. ユーザー [alma] には SFTP のみを許可する
# usermod -aG sftp_users alma

IT

Posted by arkgame